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());
                    }
相关推荐
漫随流水12 小时前
IDEA快速生成构造方法(空参、带参)
java·intellij-idea
样例过了就是过了12 小时前
LeetCode热题100 编辑距离
数据结构·c++·算法·leetcode·动态规划
spencer_tseng12 小时前
Spring Boot 3.0+ jakarta.*
java·spring boot
Bat U12 小时前
JavaEE|文件操作和IO
java·开发语言
DavidSoCool13 小时前
Spring AI Alibaba ReactAgent 调用Tool 实现多轮对话
java·人工智能·spring·多轮对话·reactagent
khalil102013 小时前
代码随想录算法训练营Day-46 动态规划13 | 647. 回文子串、516.最长回文子序列、动态规划总结
数据结构·c++·算法·leetcode·动态规划·回文子串·回文子序列
神所夸赞的夏天13 小时前
如何获取多层json数据,存成dictionary,并取最大最小值
java·前端·json
9号达人13 小时前
为什么你应该在 MQ 里用多个消费者,而不是一个
java·后端·架构
焦糖玛奇朵婷13 小时前
健身房预约小程序开发、设计
java·大数据·服务器·前端·小程序
小新同学^O^13 小时前
简单学习 --> TCP协议
java·网络·tcp