Steam流用法:将list集合中具有相同属性的对象放入到一个新的list

Steam流用法:将list集合中具有相同属性的对象放入到一个新的list

背景:

由于地图打点坐标需求将list数据中经度、纬度和方位角相同的数据,放到一个新的list中去并根据这些相同元素进行分组

解决方案:

采用java8的特性之一Stream方法,使用Stream方法,并且使用Collectors的groupingBy 按照对象的什么属性字段进行分组方法,然后分组出来后得到一个Map集合

java 复制代码
        List<List<NetworkOutputTableVO>> result = new ArrayList<>();

      Map<String, List<NetworkOutputTableVO>> personMap = mapData.stream().collect(Collectors.groupingBy(item -> item.getLatitude()+item.getLongitude()+item.getAzimuth()));
                    Set<Map.Entry<String, List<NetworkOutputTableVO>>> entries2 = personMap.entrySet();
                    for (Map.Entry<String, List<NetworkOutputTableVO>> entry : entries2) {
                        result.add(entry.getValue());
                    }
相关推荐
星辰_mya8 分钟前
CountDownLatch深度解析
java·开发语言·后端·架构
伊甸39 分钟前
从企业级项目学敏感词过滤:DFA算法与双层缓存实战
java·算法·缓存
cfm_291410 分钟前
JVM新一代垃圾收集器深度解析:G1与ZGC
java·jvm
x***r15115 分钟前
.NET 10 SDK 安装教程(dotnet-sdk-10.0.100-win-x64详细步骤)
java·服务器·前端
摇滚侠22 分钟前
MyBatis 入门到项目实战 MyBatis 的缓存 56-61
java·缓存·mybatis
让我上个超影吧25 分钟前
Claude code:Hooks
java·数据库·ai编程
RH23121127 分钟前
2026.6.8Linux
java·数据库·中间件
于指尖飞舞44 分钟前
java后端面试题(多线程极简)
java·开发语言
IT 行者1 小时前
GitHub Spec Kit 实战(四):读懂和干预 /speckit.plan——AI 最自由发挥的一步
java·人工智能·github·ai编程·claude
独隅1 小时前
IntelliJ IDEA 在 Windows 上的完整安装与使用指南
java·windows·intellij-idea