JAVA stream集合List<Map>转二维集合Map<String,Map<String,Object>>

💖简介

将一个 List<Map> 转换为一个二维的 Map 结构通常意味着我们需要创建一个 Map<K, Map<K, V>>。这里,外部的 Map 使用某个键(比如列表中每个 Map 的唯一标识符)来指向内部的 Map,而内部的 Map 则保持了原始 Map 中的键值对。

假设我们有一个 List<Map<String, String>> 类型的数据,我们想要将其转换成 Map<String, Map<String, String>>。这里的逻辑是,外层 Map 的键是每个内部 Map 的唯一标识符(例如,可以是内部 Map 中的一个特定键的值),而内层 Map 就是原 List 中的每个 Map

JAVA stream集合List<Map>转二维集合Map<String,Map<String,Object>>

        Map<String, Map<String, Integer>> result = list.stream()
                .collect(Collectors.groupingBy(e -> e.get("date"), LinkedHashMap::new,
                        Collectors.groupingBy(e -> e.get("area"), LinkedHashMap::new,
                                Collectors.summingInt(e -> Integer.parseInt(e.get("count"))))));

结束

posted @ 2024-07-26 16:26  丿似锦  阅读(72)  评论(0)    收藏  举报