比较器:
实现Comparable接口 //比较器
public int compareTo(TreeEntity tree) {
return this.name.compareTo(tree.getName());
}
排序
Collections.sort(treeList);排序后循环打印name值:
yy
qq
aa
ffffffffffffffffffffff
heha------------------------------
我不知道是怎么排序的,怎么第3行是aa呢?我觉得aa应该在第一行啊

解决方案 »

  1.   

    tree.getName()
    返回的是啥?
      

  2.   

    TreeEntity 实现了Comparable<TreeEntity>?
    treeList集合用的是什么
    我实现了一下  没问题的 
      

  3.   

    就是name属性,返回值是‘yy’或‘qq’或‘aa’........
      

  4.   


    是的,实现实现Comparable接口了
    treeList集合里都是TreeEntity
      

  5.   

    treeList是什么类型  ArrayList?
      

  6.   


    List<TreeEntity> treeList = new ArrayList<TreeEntity>();
      

  7.   

    给你看下我的代码  :
    public class SortClass implements Comparable<SortClass> { private String name;

    public SortClass(String name){
    this.name=name;
    }

    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int compareTo(SortClass o) {
    return this.name.compareTo(o.getName());
    }

    public String toString(){
    return this.name;
    }}public class Test { public static void main(String[]args){
    List<Integer> list=new ArrayList<Integer>();
    list.add(10);
    list.add(20);
    list.add(1);
    list.add(-5);
    for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
    }
    System.out.println("-------------after---------");
    Collections.sort(list);
    for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
    }
    System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
    List<SortClass> sortList=new ArrayList<SortClass>();
    sortList.add(new SortClass("ccc"));
    sortList.add(new SortClass("bbb"));
    sortList.add(new SortClass("xxx"));
    sortList.add(new SortClass("aaa"));
    for(int i=0;i<sortList.size();i++){
    System.out.println(sortList.get(i));
    }
    System.out.println("-------------after---------");
    Collections.sort(sortList);
    for(int i=0;i<sortList.size();i++){
    System.out.println(sortList.get(i));
    }
    }
    }
      

  8.   

    楼主既然自己实现了比较器
    应该是Collections.sort(treeList,你自己的比较器);
      

  9.   

    没有什么思路,
    lz贴些代码看看吧good luck
      

  10.   

    10
    20
    1
    -5
    -------------after---------
    -5
    1
    10
    20
    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    ccc
    bbb
    xxx
    aaa
    -------------after---------
    aaa
    bbb
    ccc
    xxx
    你的代码我没有动.运行结果没有问题吧.你java那个版本的
      

  11.   

    我的是JDK5.0
    运行结果正确,与jdk没关系
    你的代码是不是有问题