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());
                    }
相关推荐
西安邮电大学1 分钟前
分布式锁三种实现
java·redis·后端·其他·面试
码不停蹄的玄黓5 分钟前
SpringBoot 实现自定义注解
java·spring boot·spring
施棠海10 分钟前
自定义并可深度定制的数字滚动选择器完整源代码与相关注意事项
java·开发语言
bIo7lyA8v21 分钟前
算法与数据结构协同优化的设计思想的技术8
数据结构·算法
2601_9611940222 分钟前
2026六级词汇资料电子版|大学英语六级核心词汇PDF
java·spring·eclipse·pdf·tomcat·hibernate
Lsk_Smion24 分钟前
力扣实训 _ [98].验证二叉搜索树 _ 将二叉树展开成链表
数据结构·算法·leetcode
布朗克16825 分钟前
18 面向对象综合实战——设计一个图书管理系统
java·面试·职场和发展·面向对象实战
小小工匠34 分钟前
Redis - 从数据结构到高可用的九个关键问题
数据结构·redis
码不停蹄的玄黓34 分钟前
旁路缓存(Cache-Aside,CA)
java·开发语言
NGINX开源社区35 分钟前
NGINX Ingress Controller 中的 Cache Policy:VirtualServer 实战指南
java·前端·nginx