Stream流排序数组和List 详解
更新时间:2022年09月21日 10:27:42 作者:李长渊哦
这篇文章主要介绍了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<Integer>排序
先把数组转换成List对象再进行排序

到此这篇关于Stream流排序数组和List 详解的文章就介绍到这了,更多相关Stream List 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
idea如何debug看springsecurity的过滤器顺序
这篇文章主要介绍了idea如何debug看springsecurity的过滤器顺序,文中通过图文结合的方式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下2024-04-04
IDEA2023.3.4开启SpringBoot项目的热部署(图文)
本文使用的开发工具是idea,使用的是springboot框架开发的项目,配置热部署,可以提高开发效率,文中通过图文介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧2024-02-02
一篇文章带你了解java Object根类中关于toString,equals的方法
这篇文章主要介绍了Object类toString()和equals()方法使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2021-09-09
Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程
这篇文章主要介绍了Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程,需要的朋友可以参考下2017-04-04


最新评论