下面代码以自然序排序一个list
list.stream().sorted()
自然序逆序元素,使用Comparator 提供的reverseOrder() 方法
list.stream().sorted(Comparator.reverseOrder())
使用Comparator 来排序一个list
list.stream().sorted(Comparator.comparing(Student::getAge))
把上面的元素逆序
list.stream().sorted(Comparator.comparing(Student::getAge).reversed())
当然还可以不用借助steam方式直接排序:
list.sort(Comparator.comparing(Integer::intValue));
list.sort(Comparator.comparing(Integer::intValue).reversed());
list.sort(Comparator.comparing(Student::getAge));
list.sort(Comparator.comparing(Student::getAge).reversed());
多字段排序
// 关键字thenComparing
// 1.先以年龄升序 2.当年龄相同时,在以薪资升序
List<User> userList = lists.stream()
.sorted(Comparator.comparing(User::getAge)
.thenComparing(User::getSalary))
.collect(Collectors.toList());
多字段即升序又降序排序
// 关键 thenComparing、Comparator.reverseOrder()
// 1.先以年龄升序 2.当年龄相同时,在以薪资降序
List<User> userList = lists.stream()
.sorted(Comparator.comparing(User::getAge).thenComparing(User::getSalary,Comparator.reverseOrder()))
.collect(Collectors.toList());
博客介绍了Java中对List进行排序的多种方法,包括以自然序排序、自然序逆序(借助Comparator的reverseOrder()方法)、使用Comparator排序、不借助steam方式直接排序,还提及了多字段排序以及多字段升序和降序排序。

364

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



