• Stream流数组和对象List排序



    一、对象单字段排序

            List<People> peopleList = Lists.newArrayList();
            peopleList.add(new People(1, "小王", 5));
            peopleList.add(new People(1, "小李", 4));
            peopleList.add(new People(2, "小张", 3));
            peopleList.add(new People(2, "小皇", 2));
            peopleList.add(new People(2, "小刘", 1));
    
            //单字段排序
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getJgId)).collect(Collectors.toList());
            log.info(peopleList.toString());
            //这里是根据userId 进行排序——降序排序  reversed()
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getJgId).reversed()).collect(Collectors.toList());
            log.info(peopleList.toString());
    

    在这里插入图片描述

    二、多字段排序

            List<People> peopleList = Lists.newArrayList();
            peopleList.add(new People(1, "小王", 5));
            peopleList.add(new People(1, "小李", 4));
            peopleList.add(new People(2, "小张", 3));
            peopleList.add(new People(2, "小皇", 2));
            peopleList.add(new People(2, "小刘", 1));
            //这里是根据Id及jgId进行联合升序排序
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getId).thenComparing(People::getJgId)).collect(Collectors.toList());
            log.info(peopleList.toString());
            //下面两个结果都是以Id降序jgId升序排序的结果,但是查询方式不同
            //先以id升序,升序结果进行id降序,再进行jgId升序
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getId).reversed().thenComparing(People::getJgId)).collect(Collectors.toList());
            log.info(peopleList.toString());
            //先以id降序,再进行jgId升序 **推荐使用该种方式**
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getId,Comparator.reverseOrder()).thenComparing(People::getJgId)).collect(Collectors.toList());
            log.info(peopleList.toString());
            //先以id升序,再进行jgId降序
            peopleList =  peopleList.stream().sorted(Comparator.comparing(People::getId).thenComparing(People::getJgId,Comparator.reverseOrder())).collect(Collectors.toList());
            log.info(peopleList.toString());
    

    在这里插入图片描述

    三、数组排序以及List排序

    先把数组转换成List对象再进行排序
    在这里插入图片描述

    1. 我不停奔跑只为追赶当年被寄予厚望的自己。
    2. 错的每个题都是为了遇见对的人,对的每道题,都是为了遇见更好的自己。
    3. 低头是题海,抬头是前途。
    4. 我虽摘不下星星,但在我的宇宙里,你已然是我的—片银河系。
    5. 再苦一会儿,未来会很甜!
    6. 生活不可能像你想象得那么好但也不会像你想象得那么糟
    7. 很奇怪,我们不屑与他人为伍,却害怕自己与众不同。
    8. 我要悄无声息,成为你的遥不可及。
    9. 今日长缨在手,何时缚住苍龙。
    10. 真正的秘密不在黑夜之中,也不在巧妙的陷井里,而是藏在人的内心深处。
  • 相关阅读:
    db2中kettle报错 Field [XXX] is required and couldn‘t be found 解决方法
    一个方法解决nSum 问题
    2022中国地理信息产业大会 荣誉背后国产GIS的自主创新力量
    中断实验(按键/光电开关/火焰传感器/人体红外)
    java计算机毕业设计动漫论坛系统源码+mysql数据库+系统+lw文档+部署
    如何用 ESP-AT 进行多种场景下的 UDP 透传
    element ui 表格组件懒加载,编辑、删除后更新数据
    Linux:安装python
    长尾词-长尾词软件-长尾词挖掘工具免费
    ant design vue对话框关闭数据清空
  • 原文地址:https://blog.csdn.net/weixin_46146718/article/details/126946987