概述
准备工作,新建一个User类
使用stream排序操作(默认ASC排序)
stream倒序排序操作
sorted(Comparator.reverseOrder())
代码例子:
/**
* lambda
* sorted排序
*/
@Test
public void test19() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(11);
list.add(111);
list.add(9);
List<Integer> collect = list.stream().sorted().collect(Collectors.toList());
collect.forEach(System.out::println);
System.out.println("********");
List<Integer> reverseOrder = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
reverseOrder.forEach(System.out::println);
}
操作对象中属性的排序
List<User> user = new ArrayList<>();
user.add(new User(1L, 18, "小明"));
user.add(new User(2L, 20, "小王"));
user.add(new User(3L, 28, "小刚"));
user.add(new User(4l, 25, "小丽"));
List<User> collect1 = user.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
collect1.forEach(e -> {
System.out.println(JSON.toJSONString(e));
});
System.out.println("***************");
List<User> collect2 = user.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());
collect2.forEach(e -> {
System.out.println(JSON.toJSONString(e));
});
先按照age排序,age相同时按照id排序
//先按照age排序,age相同时按照id排序
List<User> collect3 = user.stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getId)).collect(Collectors.toList());
collect3.forEach(e -> {
System.out.println(JSON.toJSONString(e));
});
最后
以上就是顺利月亮为你收集整理的lambda中sorted排序的全部内容,希望文章能够帮你解决lambda中sorted排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复