JDK8 版本
LinkedHashMap<String, LinkedHashMap<String, String>> testItem = query.stream().collect(Collectors.groupingBy(p -> p.get("PROJECT_TYPE")))
.entrySet().stream().collect(
Collectors.toMap((p) -> p.getKey().equals("1")?"结果1":"结果2",
(p1) -> p1.getValue().stream().
sorted(Comparator.comparing(s -> Integer.parseInt(StringUtils.ifNull(s.get("ORDER_NUMBER"),"999").toString()))).
collect(Collectors.toList()).stream().collect(Collectors.toMap((p) -> p.get("PROJECT_CODE"),
(p2) -> p2.get("PROJECT_NAME"),
(k, k1) -> k, LinkedHashMap::new)),
(k, k1) -> k, LinkedHashMap::new));
代码可能很多 可以拆分着看
本文介绍如何使用JDK8的LinkedHashMap进行高级操作,包括流式处理和多级映射,展示了如何根据条件对复杂数据结构进行整理和转换。
348

被折叠的 条评论
为什么被折叠?



