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());
                    }
相关推荐
沛沛老爹几秒前
从Web到AI:多模态Agent Skills开发实战——JavaScript+Python全栈赋能视觉/语音能力
java·开发语言·javascript·人工智能·python·安全架构
0x531 分钟前
JAVA|智能仿真并发项目-进程与线程
java·开发语言·jvm
xiaolyuh1232 分钟前
Spring Boot 深度解析
java·spring boot·后端
黎雁·泠崖3 分钟前
Java静态方法:用法+工具类设计+ArrayUtil实战
java·开发语言
Sanyhem6 分钟前
2025 年高频考点与深度追问点
java·面试
仰泳的熊猫7 分钟前
题目 1429: 蓝桥杯2014年第五届真题-兰顿蚂蚁
数据结构·c++·算法·蓝桥杯
摇滚侠8 分钟前
解决 IntelliJ IDEA 中 Maven 管理界面不是层级结构的问题
java·maven·intellij-idea
Mr Aokey11 分钟前
RabbitMQ进阶实战:三种典型消息路由模式详解(订阅/路由/主题)
java·网络·rabbitmq
Yupureki15 分钟前
《算法竞赛从入门到国奖》算法基础:入门篇-分治
c语言·开发语言·数据结构·c++·算法·贪心算法
无心水18 分钟前
4、Go语言程序实体详解:变量声明与常量应用【初学者指南】
java·服务器·开发语言·人工智能·python·golang·go