正文
java List中相同的数据合并到一起
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
值好最后一天岗,写个小程序
List<Map<Object,Object>> mapList = new ArrayList<Map<Object,Object>>();
Map<Object,Object> map = new HashMap<Object,Object>();
map.put("C","111");
map.put("NAME","LB");
Map<Object,Object> map1 = new HashMap<Object,Object>();
map1.put("C","111");
map1.put("NAME","LA");
Map<Object,Object> map2 = new HashMap<Object,Object>();
map2.put("C","112");
map2.put("NAME","LC");
Map<Object,Object> map3 = new HashMap<Object,Object>();
map3.put("C","112");
map3.put("NAME","Lh");
Map<Object,Object> map4 = new HashMap<Object,Object>();
map4.put("C","113");
map4.put("NAME","LC");
Map<Object,Object> map5 = new HashMap<Object,Object>();
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);
}
运行结果:
纯写着玩的,不喜勿喷