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());
                    }
相关推荐
Zane19949 分钟前
自己写一个 java.lang.String,为什么永远替换不掉 JDK 那个
java·后端
吴声子夜歌19 分钟前
Guava——并发(一)
java·guava
天空属于哈夫克323 分钟前
企业微信API:企业微信如何实现自动化运营?
java·自动化·企业微信
lhldsg32 分钟前
相册印刷实战指南:从设计规范到系统落地全流程解析
java·小程序·架构·设计规范
vipxieliang33 分钟前
订单数据验证:从购物车到支付的完整验证链路
java·spring boot
草青工作室34 分钟前
java-不携带Token也能“打“自己的接口:一个绕开网关鉴权、用 URL 直接调度 SpringMVC 方法的轻量级定时任务方案
java·开发语言
霸道流氓气质40 分钟前
Spring AI提示词模板与动态变量替换
java·python·spring
Object_SC43 分钟前
java 中的泛型
java
Lost of 程序猿1 小时前
.NET 线程安全集合与并发数据结构深度实战:从 lock 到无锁
数据结构·安全·.net
s_w.h1 小时前
【 linux 】线程互斥与同步
java·linux·服务器·开发语言