java中的sort方法排序问题

例如Collections.sort(l1)//l1是LinkedList对象

就问下,它是不是要去调用Camparaable接口中的compareTo方法才能进行排序

这个是看你的业务的,给你个例子,你自己对照下
List data = new ArrayList();
data.add(1);
data.add(3);
data.add(2);

//默认的,升序

Collections.sort(data);
System.out.println(data);

// 实现了compareTo方法,实现降序

Collections.sort(data, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
System.out.println(data);追问

哦,意思是都得调用sort()方法,但是需要换其他排序时就重写这个方法?

追答

1.jdk里面提供的一般都是最基本,最简单的方法,他不可能针对所有的需求都提供一个方法,

2.但是需要换其他排序时就重写这个方法?
你自己开发个方法做排序也行,只是jdk里提供的Collections.sort()的接口,你用他会方便点

追问

嗯,谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-23
如果你的LinkedList里边放的是一般简单类型的对象无所谓,如果放的是自己定义的对象的话必须重写compareTo方法,否则会按照对象的hashcode乱排序追问

嗯,谢谢,看了你们的,我也知道了

第2个回答  2012-08-14
是的,所以你要实现Cmmparable接口 重写compare To方法,不然就会出现异常 异常错误是类型无法转换,没有实现Commparable接口追问

嗯,谢谢,看了你们的,我也知道了

第3个回答  2012-09-19
柱子是2 b