List<Map<String, Object>> listMap = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("111", "哈哈哈哈");
map1.put("222", "wef");
listMap.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("111", "哈哈哈哈");
map2.put("222", "ddd");
listMap.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("111", "bbb");
map3.put("222", "444");
listMap.add(map3);
Map<String, Object> map4 = new HashMap<>();
map4.put("111", "srfsf");
map4.put("222", "w555ef");
listMap.add(map4);
// Map<String, Object> map5 = new HashMap<>();
// map5.put("111", "fff");
// map5.put("222", "srfsf");
// listMap.add(map5);
Map<String, Integer> cntMap = new HashMap();
for (Map map : listMap) {
if (cntMap.containsKey(map.get("111"))) {
cntMap.put((String) map.get("111"), cntMap.get(map.get("111")) + 1);
} else {
cntMap.put((String) map.get("111"), 1);
}
}
Map<String, List> result = new HashMap<>();
for (Map map : listMap) {
if (cntMap.keySet().contains(map.get("111"))) {
List tempList = Optional.ofNullable(result.get(map.get("111"))).orElse(new ArrayList());
tempList.add(map.get("222"));
result.put((String) map.get("111"), tempList);
}
}
System.out.println(result);