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());
                    }
相关推荐
lkbhua莱克瓦244 小时前
TCP通信练习4-上传文件名重复问题
java·网络·网络协议·tcp/ip·tcp
INGg__4 小时前
Java面试现场:从简单到复杂
java·面试·技术
毕设源码-赖学姐4 小时前
【开题答辩全过程】以 高校图书馆座位预约管理系统为例,包含答辩的问题和答案
java·spring boot
2401_841495644 小时前
【LeetCode刷题】跳跃游戏Ⅱ
数据结构·python·算法·leetcode·数组·贪心策略·跳跃游戏
网安_秋刀鱼4 小时前
【java安全】java安全基础
java·开发语言·安全·web安全
钓鱼的肝4 小时前
GESP系列(3级)小杨的储蓄
开发语言·数据结构·c++·笔记·算法·gesp
ZePingPingZe4 小时前
不使用Spring事务的管理—原生JDBC实现事务管理
java·数据库·spring
吃喝不愁霸王餐APP开发者4 小时前
外卖API对接过程中时间戳与时区处理的最佳实践(避免核销失效)
java
抹除不掉的轻狂丶4 小时前
Java 日志框架完整指南:发展历史、核心组成与最佳实践
java·开发语言·python
林涧泣5 小时前
使用Java输出HelloWorld
java·开发语言