public static Map<String, List<Map<String, Object>>> transition(List<Map<String, Object>> list){
Map<String, List<Map<String, Object>>> map = new HashMap<>();
// 分组
for(Map<String, Object> temp : list) {
// 获取Map的每一对值
Iterator<Map.Entry<String, Object>> iterator = temp.entrySet().iterator();
while (iterator.hasNext()) {
List<Map<String, Object>> listAndMap = new ArrayList<>();
// 获取到每一个实体
Map.Entry<String, Object> entity = iterator.next();
if (map.containsKey(entity.getKey())) {
// 获取原来存在的数据
List<Map<String, Object>> lm = map.get(entity.getKey());
lm.add(new HashMap<String, Object>() {{
put(entity.getKey(), entity.getValue());
}});
Collections.sort(lm, (param1, param2) ->
(param2.get(entity.getKey()).toString().compareTo(param1.get(entity.getKey()).toString()))
);
map.replace(entity.getKey(), lm);
} else {
listAndMap.add(new HashMap<String, Object>() {{
put(entity.getKey(), entity.getValue());
}});
map.put(entity.getKey(), listAndMap);
}
}
}
return map;
}
转载于:https://my.oschina.net/zhengweishan/blog/3039918