赞
踩
准备工作,新建一个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));
- });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。