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官方推荐的@Transational还能导致生产事故
在Spring中进行事务管理非常简单,只需要在方法上加上注解@Transactional,那么为什么Spring官方推荐的@Transational还能导致生产事故,本文就详细的介绍一下2021-11-11SpringBoot2.x漏洞将logback1.2.x 升级至1.3.x
安全部门在代码漏洞扫描中发现logback 1.2.x版本存在CVE漏洞,建议升级至1.3.x版本,本文就来介绍了logback1.2.x 升级至1.3.x,具有一定的参考价值,感兴趣的可以了解一下2024-09-09JDK 5 提供的注解:Target、Inherited和Documented的区别
这篇文章主要介绍了JDK 5 提供的注解:Target、Inherited和Documented的区别,需要的朋友可以参考下2016-02-02
最新评论