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());
                    }
相关推荐
Jabes.yang4 分钟前
Java面试实录:AIGC场景下的Stream、微服务、Redis、Kafka与安全实战
java·spring boot·redis·微服务·面试·kafka·aigc
lwf0061644 分钟前
实战:用 Java 模拟登录阿里云控制台,爬取没有 OpenAPI 的数据
java·阿里云
程序员二叉16 分钟前
【Java】 面试核心合集:BigDecimal、缓存池、多态、反射全解析
java·缓存·面试
apcipot_rain16 分钟前
计科八股20260606——二叉树、PCA、图深度学习、进程上下文、C语言预编译、文件读写、单精度浮点数
c语言·数据结构·算法·pca·图神经网络
Full Stack Developme20 分钟前
SpringMVC multipart 文件上传
java·开发语言
西凉的悲伤24 分钟前
Spring Security + JWT 登录认证完整实践指南
java·后端·spring·spring security·jwt
晚笙coding25 分钟前
从零讲透 LangChain 输出格式化:让模型真的“能用”
java·开发语言·langchain
奋斗的小方25 分钟前
Java进阶篇1-1:异常
java·开发语言·python
码语智行28 分钟前
行政区划 ZIP 导入(importZip)
java
何中应32 分钟前
Nexus如何设置端口号
java·服务器·maven·nexus