java小问题
集合类的排序怎么搞啊 --------------------编程问答-------------------- java 集合类的排序主要是用Collections.sort方法 --------------------编程问答-------------------- 两种比较:1.类里面实现比较:实现Comparable接口及实现public int compareTo(Object arg0)方法
2.加入了比较器,比较器必须实现Comparator接口 --------------------编程问答-------------------- 简单的可以使用java提供的工具类arrays.sort方法排序 ,复杂的自己实现comparable接口 --------------------编程问答--------------------
public class OrderCopmparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
OrderPerDay op1 = (OrderPerDay) o1;
OrderPerDay op2 = (OrderPerDay) o2;
if(op1.getDay() == op2.getDay()){
return 0;
}
else if(op1.getDay().before(op2.getDay()) ){
return -1;
}
else{
return 1;
}
}
}
Collections.sort(xxxList,new OrderCpmparator());//得到的就是排好序的集合
2.beanutils工具包
[java] view plaincopyprint?
Collections.sort(xxxList,new BeanComparator("day"));//得到排好序的集合(按字段day)。很明显这个少很多代码
http://blog.csdn.net/wufengui1315/article/details/9039265 --------------------编程问答-------------------- 你可以考虑第二种方法,代码量的差别应该看出来了 --------------------编程问答-------------------- Collections.sort 方法可自动排序
楼上介绍的真详细 --------------------编程问答-------------------- sort是自然排序 如果你集合中的是对象,你要自己写比较方法 根据对象的哪个属性进行排序 --------------------编程问答-------------------- 如果是自定义类集合,可以考虑实现Compareble接口完成,若是一般基本数据类型Integer,Float等,可以使用Arrays.sort()方法 --------------------编程问答-------------------- 实现Comparator接口
补充:Java , Java SE