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合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈如何优雅地停止Spring Boot应用

    浅谈如何优雅地停止Spring Boot应用

    这篇文章主要介绍了浅谈如何优雅地停止Spring Boot应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Springboot事务失效的几种情况解读

    Springboot事务失效的几种情况解读

    这篇文章主要介绍了Springboot事务失效的几种情况解读,因为Spring AOP默认使用动态代理,会给被代理的类生成一个代理类,事务相关的操作都通过代理来完成,使用内部方法调用时,使用的是实例调用,没有通过代理类调用方法,因此事务不会检测到失败,需要的朋友可以参考下
    2023-10-10
  • Java实现快速生成词云图的示例代码

    Java实现快速生成词云图的示例代码

    词云(Word Cloud),又称文字云、标签云(Tag Cloud)、关键词云(Keyword Cloud),是对文本信息中一定数量的关键词出现的频率高低情况的一种可视化展现方式。本文将用Java代码实现快速生成词云图,需要的可以参考一下
    2023-02-02
  • IDEA 错误之找不到或无法加载主类的问题

    IDEA 错误之找不到或无法加载主类的问题

    这篇文章主要介绍了IDEA 错误之找不到或无法加载主类,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Gauva使用ListenableFuture介绍说明

    Gauva使用ListenableFuture介绍说明

    并发是一个困难问题,但是通过强大和强大的抽象能够显著的简化工作。为了简化问题,Gauva使用ListenableFuture扩展了JDK的Future接口,这篇文章主要介绍了Gauva使用ListenableFuture
    2023-01-01
  • Java哈希表的概念及实现完整代码

    Java哈希表的概念及实现完整代码

    这篇文章主要介绍了Java哈希表的概念及实现的相关资料,哈希表是一种高效查找数据的结构,通过哈希函数将关键字映射到数组的索引位置,当发生冲突时,可以通过闭散列或开散列(链地址法)来解决,需要的朋友可以参考下
    2024-11-11
  • 教你如何将Springboot项目成功部署到linux服务器

    教你如何将Springboot项目成功部署到linux服务器

    这篇文章主要介绍了如何将Springboot项目成功部署到linux服务器上,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Java设计模式之享元模式

    Java设计模式之享元模式

    这篇文章主要为大家详细介绍了Java设计模式之享元模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Spring MVC参数自动绑定List的解决方法

    Spring MVC参数自动绑定List的解决方法

    这篇文章主要为大家详细介绍了Spring MVC参数自动绑定List的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • mybatis log4j2打印sql+日志实例代码

    mybatis log4j2打印sql+日志实例代码

    在学习mybatis的时候,如果用log4j2来协助查看调试信息,则会大大提高学习的效率,加快debug速度,下面这篇文章主要给大家介绍了关于mybatis log4j2打印sql+日志的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论