lambda中sorted排序

简介: lambda中sorted排序

准备工作,新建一个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));
        });

 

相关文章
|
2月前
排序——sort的用法
排序——sort的用法
17 0
|
2月前
|
搜索推荐 数据库 C++
带用排序等法sort讲解
带用排序等法sort讲解
14 0
|
12月前
|
搜索推荐 C++
C++利用sort进行排序
C++利用sort进行排序
|
2月前
|
C++
C++如何进行sort的使用——C++如何进行排序
C++如何进行sort的使用——C++如何进行排序
33 0
|
2月前
|
存储 算法 容器
【C++11算法】is_sorted、is_sorted_until
【C++11算法】is_sorted、is_sorted_until
|
2月前
|
小程序
排序sort()排序用法
排序sort()排序用法
|
11月前
|
搜索推荐 C++
sort()函数详解
sort()函数详解
75 0
|
Shell Python
#PY小贴士# 同样是排序,sort和sorted有啥不同?
Python 这么设计固然有它的道理(sorted 是后引入的,对 sort 的补充),但这并不是必然的选择。比如与 sorted 功能有些类似的,random 模块的 shuffle 方法,就是在原列表基础上打乱顺序,而非返回一个新列表
Search in Rotated Sorted Array - 循环有序数组查找问题
Search in Rotated Sorted Array - 循环有序数组查找问题
56 0