java List中相同的数据合并到一起

 更新时间:2023年07月08日 11:03:02   作者:lfwh  
这篇文章主要介绍了java List中相同的数据合并到一起,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

java List中相同的数据合并到一起

代码

List<Map<Object,Object>> mapList = new ArrayList<>();
        Map<Object,Object> map = new HashMap<>();
        map.put("C","111");
        map.put("NAME","LB");
        Map<Object,Object> map1 = new HashMap<>();
        map1.put("C","111");
        map1.put("NAME","LA");
        Map<Object,Object> map2 = new HashMap<>();
        map2.put("C","112");
        map2.put("NAME","LC");
        Map<Object,Object> map3 = new HashMap<>();
        map3.put("C","112");
        map3.put("NAME","Lh");
        Map<Object,Object> map4 = new HashMap<>();
        map4.put("C","113");
        map4.put("NAME","LC");
        Map<Object,Object> map5 = new HashMap<>();
        map5.put("C","114");
        map5.put("NAME","LF");
        mapList.add(map);
        mapList.add(map1);
        mapList.add(map2);
        mapList.add(map3);
        mapList.add(map4);
        mapList.add(map5);
        Map<Integer, List<Map<Object,Object>>> mapMap = new HashMap<>();
        for (Map<Object,Object> newMap : mapList){
            List<Map<Object, Object>>  newl = new ArrayList<>();
            // map是否包含此key,若已经包含则添加一个新的数字到对应value集合中
            if (mapMap.containsKey(Integer.valueOf(newMap.get("C").toString()))){
                //mapList.add(Integer.valueOf(newMap.get("C").toString()),newMap);
                mapMap.get(Integer.valueOf(newMap.get("C").toString())).add(newMap);
            }else{
                newl.add(newMap);
                mapMap.put(Integer.valueOf(newMap.get("C").toString()), newl);
            }
        }
        System.out.println(mapMap);

运行结果

参考资料1:https://www.cnblogs.com/invban/p/10318627.html

Java 多个List合并

多个同类型集合合并,可以使用可变参数,定义一个专门的方法,参考代码如下:

public class Main {
    public static void main(String[] args) {
        List<Integer> list1 = Arrays.asList(1, 2);
        List<Integer> list2 = Arrays.asList(3, 4);
        List<Integer> list3 = Arrays.asList(5, 6);
        List<Integer> integers = mergeList(list1, list2, list3);
        System.out.println(integers);
        List<String> list4 = Arrays.asList("A", "B");
        List<String> list5 = Arrays.asList("C", "D");
        List<String> list6 = Arrays.asList("E", "F");
        List<String> strings = mergeList(list4, list5, list6);
        System.out.println(strings);
    }
    public static <T> List<T> mergeList(List<T>... list){
        List<T> res = new ArrayList<>();
        if (Objects.nonNull(list)) {
            for (List<T> l : list) {
                res.addAll(l);
            }
        }
        return res;
    }
}

参考代码运行结果如下:

[1, 2, 3, 4, 5, 6]

[A, B, C, D, E, F]

到此这篇关于java List中相同的数据合并到一起的文章就介绍到这了,更多相关java List合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springBoot 整合ModBus TCP的详细过程

    springBoot 整合ModBus TCP的详细过程

    ModBus是一种串行通信协议,用于从仪器和控制设备传输信号到主控制器或数据采集系统,它分为主站和从站,主站获取和编写数据,从站则是设备,本文给大家介绍springBoot 整合ModBus TCP的详细过程,感兴趣的朋友一起看看吧
    2025-01-01
  • Java getRealPath(

    Java getRealPath("/")与getContextPath()区别详细分析

    这篇文章主要介绍了Java getRealPath("/")与getContextPath()区别详细分析,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • java 实现 stack详解及实例代码

    java 实现 stack详解及实例代码

    这篇文章主要介绍了java 实现 stack详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • Nacos日志与Raft的数据清理指南

    Nacos日志与Raft的数据清理指南

    随着运行时间的增长,Nacos 的日志文件(logs/)和 Raft 持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本文详细探讨Nacos日志与Raft如何安全释放磁盘空间,需要的朋友可以参考下
    2025-05-05
  • 处理java异步事件的阻塞和非阻塞方法分析

    处理java异步事件的阻塞和非阻塞方法分析

    这篇文章主要介绍了处理java异步事件的阻塞和非阻塞方法分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,阻塞与非阻塞关注的是交互双方是否可以弹性工作。,需要的朋友可以参考下
    2019-06-06
  • Java 执行CMD命令或执行BAT批处理方式

    Java 执行CMD命令或执行BAT批处理方式

    这篇文章主要介绍了Java 执行CMD命令或执行BAT批处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot集成Redis消息队列的实现示例

    SpringBoot集成Redis消息队列的实现示例

    本文主要介绍了SpringBoot集成Redis消息队列的实现示例,包括配置和消费逻辑,RedisStream提供了高吞吐量、顺序消费和消费组机制等优势,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • Java将图片组合成PDF文件的方法

    Java将图片组合成PDF文件的方法

    这篇文章主要为大家详细介绍了Java将图片组合成PDF文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • mybatis中resulthandler的用法

    mybatis中resulthandler的用法

    这篇文章主要介绍了mybatis中resulthandler的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot使用Zookeeper实现分布式锁的实现示例

    SpringBoot使用Zookeeper实现分布式锁的实现示例

    Zookeeper是一个分布式协调服务,非常适合用来实现分布式锁,下面我将介绍如何在Spring Boot项目中集成Zookeeper来实现分布式锁,_springboot实现基于zk的分布式锁
    2025-10-10

最新评论