分享好友 最新动态首页 最新动态分类 切换频道
java8 小技巧保证分组groupingBy后排序不变
2024-12-26 21:02

问题

遇到一个小问题,查询出来一组数据后,按照其中的属性进行groupBy 分组 ,分组后要保证顺序不变。但是实际用groupBy进行分组后,返回的数据是杂乱无章的,没有按照原来list 的顺序返回

java8 小技巧保证分组groupingBy后排序不变

排查

首先去api中查找解决,查看Java 的 java.util.stream 包 Collectors 类 groupingBy 方法实现,结果如下

 

通过java api 发现 groupingBy 调用是内部自己创建了一个 HashMap ( HashMap::new)。因为 hashMap,是无无序的,是根据key的hashcode进行hash,然后放入对应的地方。所以在按照一定顺序put进HashMap中,然后遍历出HashMap的顺序跟put的顺序不同。

知道这个了就明白了为什么无序了。所以我们直接调用三个参数的 groupingBy 方法mapFactory ,传入有顺序的Map, LinkedHashMap 就可以了。

关于 LinkedHashMap 的信息自行百度

解决

创建Person数据集合,然后按照年龄排序,排序后进行分组,保证分组后顺序不变。


最新文章
酒泉百度爱采购运营技巧
想要让百度等搜索引擎快速收录,实际上还要了解一下,搜索引擎是干嘛的。搜索引擎就是检索了海量的信息,让用户在搜索某些关键词时,能够快速、准确的找到结果或答案,这就是搜索引擎要做的工作。那么,要想被百度等搜索引擎收录,第一步就
越狱里面的终极BOSS是谁?
nika,捷克人,被人骗到美国做脱衣舞女,被michael所救。与michael约定好帮其越狱,因而在其入狱前一天与之结婚以便带东西进监狱给他。两人的夫妻称号有名无实,但实际上nika深深的爱上了michael,所以她才会在听到michael对sara说他对她的
生肖已解“洞百孔风行”是什么生肖动态词语
生肖字谜诗句描绘十二生肖独特韵味:洞穿岁月隐玄机百孔风行探天机。生肖轮回映乾坤鼠首潜行夜无痕。牛耕日月展宏图虎啸山林震乾坤。兔跃月影藏仙踪龙腾云汉舞风云。蛇盘洞窟藏智慧马踏飞燕踏红尘。羊踏青草春色满猴跃林间摘星辰。鸡鸣长空
晨会主持词范文【优秀20篇】
《晨会主持词范文【优秀20篇】》由白话文精心整编,希望在【爱的鼓励节拍】的写作上带给您相应的帮助与启发。伴随着新一轮的太阳冉冉升起,我们又迎来了崭新的一天,在早会开始之前,是我们的活动量管理,请各处的处长用1分钟的时光收取组
怎么看拼多多行业热搜词(拼多多现在怎么查热搜词)
发布商品的时候需要给商品取一个引人注目的标题,所以商家就要了解一下商品的热搜关键词都有哪些。那么拼多多商品热搜词该如何查看呢?下面我们就一起来了解一下吧!拼多多商品热搜词在哪里看?(商品的热搜词表明搜索人气越高搜索人数越多,
竞价区域推广费用收取明细表:公正公开,一目了然
在当今网络营销竞争激烈的市场中,竞价区域推广已成为众多企业寻求竞争优势的重要手段。为了确保公平竞争,公正公开的推广费用收取明细表是必不可少的。本文将为您介绍竞价区域推广的费用收取明细,帮助您了解整个过程。一、推广费用计算公
掌握Git分布式版本控制:从入门到实战
Git概述Git代码托管服务Git常用命令在IDEA中使用Git1.1 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 在IDEA开发
羊小咩在“双11”中展现智能化魅力,助力消费者享受美好生活
随着今年“双11”电商购物节的火热开启,各平台销售数据再创新高,消费热情持续升温。从京东、天猫到抖音电商,各大电商平台纷纷亮出亮眼成绩单,不仅展现了中国消费市场的强劲活力,更揭示了消费趋势的深刻变革。羊小咩作为新兴的消费服务
Mysql用户密码设置修改和权限分配
转载地址:http://www.cnblogs.com/top5/archive/2010/09/14/1825571.html, 复制记录下:一、更改密码  第一种方式:  1、更改之前root没有密码的情况    c:mysqlbinmysqladmin -u root password "yo
如何增加已上架宝贝销售规格
一、如何增加已上架宝贝销售规格?要增加已上架宝贝的销售规格,可以按照以下步骤进行:登录淘宝卖家平台:打开淘宝网站,点击页面右上方的“卖家中心”,选择“卖家后台”,输入账号密码登录。选择需要添加规格的商品:在卖家后台首页,点
相关文章
推荐文章
发表评论
0评