Collectors.groupingBy 排序

背景

最近项目开发用到对集合进行分组,按照区域分组后发现和集合的顺序不一致

发现问题

查出来的数据集合

在这里插入图片描述
在这里插入图片描述

进行排序后再用groupingBy进行聚合,发现数据的顺序发生了变化

在这里插入图片描述

探索过程

打开源码
第一个参数:分组按照哪个字段分组

第二个参数:分组最后用什么容器保存返回

第三个参数:分组后的结果如何收集

问题应该是出在了第二个参数 默认用hashmap保存分组后的数据 hashmap无序
在这里插入图片描述

问题解决

将第二个参数替换成LinkedHashMap
在这里插入图片描述


版权声明:本文为zh_404原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。