List<Map<String, Object>> data = new ArrayList<>(;)
list 转map ,key重复的话 覆盖
Map<String,Map<String,Object>> rum = QYUtils.isEmpty(data)? Maps.newHashMap():data.stream() .collect(Collectors.toMap(v->QYUtils.toString(v.get("id"))+"_"+QYUtils.toString(v.get("pid")), Function.identity(), (dto1, dto2) -> dto2)); Map<Integer, List<Map<String, Object>>> first = new LinkedHashMap<>();
list 转 map ,可以重复的话 ,把多个value转 list
Map<String, List<Map<String, Object>>> menuMap = data.stream().collect(Collectors.toMap(v->QYUtils.toString(v.get("pid")), v -> Lists.newArrayList(v), (List<Map<String, Object>> newValueList, List<Map<String, Object>> oldValueList) -> { oldValueList.addAll(newValueList); return oldValueList; }));