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());
                    }
相关推荐
lxh011313 小时前
最接近的三数之和
java·数据结构·算法
我登哥MVP13 小时前
【SpringMVC笔记】 - 3 - 获取请求数据
java·spring boot·spring·servlet·tomcat·maven·intellij-idea
Predestination王瀞潞13 小时前
彻底解决IDEA Console控制台乱码(Python可供参考第一部分)
java·ide·intellij-idea
Seven9713 小时前
【从0到1构建一个ClaudeAgent】并发-后台任务
java
Java面试题总结13 小时前
Java常见面试题(160道)
java·开发语言
xmaaaa13 小时前
订单系统到底该怎么建模(四):微服务拆分与聚合边界的终极实践
java·ddd领域驱动
浪客川13 小时前
【百例RUST - 007】结构体
java·前端·rust
Rsun0455113 小时前
7、Java 装饰器模式从入门到实战
java·开发语言·装饰器模式
黎雁·泠崖13 小时前
二叉树基础精讲(上):树形结构 · 二叉树概念 · 性质 · 遍历 · 基础操作全解析
java·数据结构·算法