使用Java 8的Stream API中的sorted()方法和Comparator接口来对List进行排序.
List<MyObject> list = new ArrayList<>();
list.add(new MyObject("小明", 25));
list.add(new MyObject("小红", 30));
list.add(new MyObject("小王", 20));
1、按照MyObject对象的age字段进行升序排序
list = list.stream()
.sorted(Comparator.comparing(MyObject::getAge))
.collect(Collectors.toList());
输出:
小王 (20)
小明 (25)
小红 (30)
2、要进行降序排序,则只需要在Comparator.comparing()方法中使用.reversed()方法即可
list = list.stream()
.sorted(Comparator.comparing(MyObject::getAge).reversed())
.collect(Collectors.toList());
输出:
小红 (30)
小明 (25)
小王 (20)