当前位置:   article > 正文

lambda中sorted排序_lamda sorted

lamda sorted

准备工作,新建一个User类

 

使用stream排序操作(默认ASC排序)

stream倒序排序操作

sorted(Comparator.reverseOrder())

代码例子:

  1. /**
  2. * lambda
  3. * sorted排序
  4. */
  5. @Test
  6. public void test19() {
  7. List<Integer> list = new ArrayList<>();
  8. list.add(1);
  9. list.add(11);
  10. list.add(111);
  11. list.add(9);
  12. List<Integer> collect = list.stream().sorted().collect(Collectors.toList());
  13. collect.forEach(System.out::println);
  14. System.out.println("********");
  15. List<Integer> reverseOrder = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
  16. reverseOrder.forEach(System.out::println);
  17. }

 

操作对象中属性的排序

  1. List<User> user = new ArrayList<>();
  2. user.add(new User(1L, 18, "小明"));
  3. user.add(new User(2L, 20, "小王"));
  4. user.add(new User(3L, 28, "小刚"));
  5. user.add(new User(4l, 25, "小丽"));
  6. List<User> collect1 = user.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
  7. collect1.forEach(e -> {
  8. System.out.println(JSON.toJSONString(e));
  9. });
  10. System.out.println("***************");
  11. List<User> collect2 = user.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());
  12. collect2.forEach(e -> {
  13. System.out.println(JSON.toJSONString(e));
  14. });

 

先按照age排序,age相同时按照id排序

  1. //先按照age排序,age相同时按照id排序
  2. List<User> collect3 = user.stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getId)).collect(Collectors.toList());
  3. collect3.forEach(e -> {
  4. System.out.println(JSON.toJSONString(e));
  5. });

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/722937
推荐阅读
  

闽ICP备14008679号