java中的list排序问题
从别人那里学来的,出处:https://www.cnblogs.com/love-feng/p/11324937.html,写的真的很好,深入浅出,例子也很到位,帮到我了!!!
java中进行数据处理难免会遇到排序处理,在这里可以用java.util自带的比较器来完成
Comparator.comparingInt(Integer::intValue).reversed() // 倒序
Comparator.comparingInt(Integer::intValue) // 正序
1.面对简单对象
List<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(2);
list.add(3);
List<Integer> result = new ArrayList<Integer>();
//排序
result = Comparator.comparingInt(Integer::intValue).reversed() // 倒序
list.forEach(n -> System.out.println(n));
//结果为5,3,2
result = Comparator.comparingInt(Integer::intValue) // 正序
list.forEach(n -> System.out.println(n));
//结果为2,3,5
2.对于复杂对象
//唯一区别在于要改参数那里
Comparator.comparingInt(类名::int型属性名).reversed() // 倒序
Comparator.comparingInt(类名::int型属性名) // 正序