java List中相同的數(shù)據(jù)合并到一起
java List中相同的數(shù)據(jù)合并到一起
代碼
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,若已經(jīng)包含則添加一個(gè)新的數(shù)字到對(duì)應(yīng)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);運(yùn)行結(jié)果

參考資料1:https://www.cnblogs.com/invban/p/10318627.html
Java 多個(gè)List合并
多個(gè)同類型集合合并,可以使用可變參數(shù),定義一個(gè)專門的方法,參考代碼如下:
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;
}
}參考代碼運(yùn)行結(jié)果如下:
[1, 2, 3, 4, 5, 6]
[A, B, C, D, E, F]
到此這篇關(guān)于java List中相同的數(shù)據(jù)合并到一起的文章就介紹到這了,更多相關(guān)java List合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot 整合ModBus TCP的詳細(xì)過程
ModBus是一種串行通信協(xié)議,用于從儀器和控制設(shè)備傳輸信號(hào)到主控制器或數(shù)據(jù)采集系統(tǒng),它分為主站和從站,主站獲取和編寫數(shù)據(jù),從站則是設(shè)備,本文給大家介紹springBoot 整合ModBus TCP的詳細(xì)過程,感興趣的朋友一起看看吧2025-01-01
Java getRealPath("/")與getContextPath()區(qū)別詳細(xì)分析
這篇文章主要介紹了Java getRealPath("/")與getContextPath()區(qū)別詳細(xì)分析,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
java 實(shí)現(xiàn) stack詳解及實(shí)例代碼
這篇文章主要介紹了java 實(shí)現(xiàn) stack詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09
Java 執(zhí)行CMD命令或執(zhí)行BAT批處理方式
這篇文章主要介紹了Java 執(zhí)行CMD命令或執(zhí)行BAT批處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例,包括配置和消費(fèi)邏輯,RedisStream提供了高吞吐量、順序消費(fèi)和消費(fèi)組機(jī)制等優(yōu)勢(shì),具有一定的參考價(jià)值,感興趣的可以了解一下2025-05-05
SpringBoot使用Zookeeper實(shí)現(xiàn)分布式鎖的實(shí)現(xiàn)示例
Zookeeper是一個(gè)分布式協(xié)調(diào)服務(wù),非常適合用來實(shí)現(xiàn)分布式鎖,下面我將介紹如何在Spring Boot項(xiàng)目中集成Zookeeper來實(shí)現(xiàn)分布式鎖,_springboot實(shí)現(xiàn)基于zk的分布式鎖2025-10-10

