java 快速将两个list<map> 根据map中某个固定key的value相等整合成一个list<map>
比如下面连个list<map>:List<Map>list1=newArrayList<Map>();Mapmap1=newHashMap();map1.put("a",...
比如下面连个list<map>:
List<Map> list1=new ArrayList<Map>();
Map map1=new HashMap();
map1.put("a","1");
map1.put("b","2");
map1.put("c","3");
map1.put("d","4");
list1.add(map1);
Map map2=new HashMap();
map2.put("a","11");
map2.put("b","22");
map2.put("c","33");
map2.put("d","44");
list1.add(map2);
。
。
。
List<Map> list2=new ArrayList<Map>();
Map map21=new HashMap();
map21.put("a","1");
map21.put("e","v2");
map21.put("f","v3");
map21.put("g","v4");
list2.add(map21);
Map map22=new HashMap();
map22.put("a","11");
map22.put("e","v22");
map22.put("f","v33");
map22.put("g","v44");
list2.add(map22);
如何将两个list中大量map快速整合成一个list,根据key为a的value值相等匹配,结果如下:
list<map> :{{a=1,b=2,c=3,d=4,e=v2,f=v3,g=v4},{a=11,b=22,c=33,d=44,e=v22,f=v33,g=v44}, ...}
其中每个map中不止这么点key,可能是300个key,每个list中大概有20W个map,以list1为中心合并,有没有快速方法实现,感觉一个个遍历效率好低,太慢了 展开
List<Map> list1=new ArrayList<Map>();
Map map1=new HashMap();
map1.put("a","1");
map1.put("b","2");
map1.put("c","3");
map1.put("d","4");
list1.add(map1);
Map map2=new HashMap();
map2.put("a","11");
map2.put("b","22");
map2.put("c","33");
map2.put("d","44");
list1.add(map2);
。
。
。
List<Map> list2=new ArrayList<Map>();
Map map21=new HashMap();
map21.put("a","1");
map21.put("e","v2");
map21.put("f","v3");
map21.put("g","v4");
list2.add(map21);
Map map22=new HashMap();
map22.put("a","11");
map22.put("e","v22");
map22.put("f","v33");
map22.put("g","v44");
list2.add(map22);
如何将两个list中大量map快速整合成一个list,根据key为a的value值相等匹配,结果如下:
list<map> :{{a=1,b=2,c=3,d=4,e=v2,f=v3,g=v4},{a=11,b=22,c=33,d=44,e=v22,f=v33,g=v44}, ...}
其中每个map中不止这么点key,可能是300个key,每个list中大概有20W个map,以list1为中心合并,有没有快速方法实现,感觉一个个遍历效率好低,太慢了 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询