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());
                    }
相关推荐
折哥的程序人生 · 物流技术专研2 分钟前
Tomcat 严重警告:JDBC 驱动未注销 + 工作线程泄漏 —— 原因、影响与彻底修复(生产级终极指南)
java·运维·数据库·mysql·oracle·tomcat
一个儒雅随和的男子5 分钟前
sentinel底层原理剖析以及实战优化
java·网络·sentinel
洛水水8 分钟前
【力扣100题】76.搜索插入位置
数据结构·算法·leetcode
两年半的个人练习生^_^11 分钟前
JMM 进阶:彻底理解 synchronized 实现原理
java·开发语言
戳代码的新星18 分钟前
论小白如何学会使用Maven
java·maven
wyhwust19 分钟前
maven的安装和配置
java
满怀冰雪22 分钟前
第07篇-差分算法-高效处理区间修改问题
数据结构·算法
plainGeekDev29 分钟前
HttpURLConnection → OkHttp + Kotlin
android·java·kotlin
swordbob30 分钟前
Spring Boot 2.0 改 CGLIB 后,接口实现是否有影响
java·开发语言·spring