实践出真知,相信你能看明白~
/**
* @Author: peter
* @Date: 11:58 下午 2020/12/10
* @Description:
*/
public class Test3 {
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<>(Arrays.asList(12, 3, 14, 4, 6, 3));
sortByJava1(list);
sortByJava2(list);
sortByJava3(list);
}
/**
* 排序方式1
* 使用list的sort方法
*/
static void sortByJava1(List<Integer> list) {
list.sort(Comparator.naturalOrder());//正序
// list.sort(Comparator.reverseOrder());//倒序
System.out.println(list);
}
// 简单的int类似数据,也可以使用Collections的sort方法即可完成排序
Collections.sort(list);
/**
* 排序方式2-Java7的方式
* Collections.sort
*/
static void sortByJava2(List<Integer> list) {
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);//正序、倒序o2.compareTo(o1);
}
});
System.out.println(list);//[3, 3, 4, 6, 12, 14]
}
//匿名内部类、重新compareTo方式
Collections.sort(approvalEntities,new Comparator<EworkApprovalEntity>()
{
@Override
public int compare (EworkApprovalEntity o1, EworkApprovalEntity o2){
return (o2.getCreateTime().getTime() - o1.getCreateTime().getTime()) >= 0 ? 1 : -1;
}
});
/**
* 排序方式2-Java8的方式
* Collections.sort
*/
static void sortByJava3(List<Integer> list) {
// Collections.sort(list);//数值类型排序 ;[3, 3, 4, 6, 12, 14]
Collections.sort(list, (s1, s2) -> s2.compareTo(s1));//适用于对象实体的某一个对象进行排序;倒序[14, 12, 6, 4, 3, 3]
System.out.println(list);
}
}
本文详细介绍了Java中对List进行排序的三种方法:使用list的sort方法、Java7的Collections.sort配合Comparator以及Java8的lambda表达式简化排序。通过实例代码展示了正序和倒序的实现,适合Java初学者及进阶者学习。
3067

被折叠的 条评论
为什么被折叠?



