在java中更改嵌套映射中的内部值类型的最简单方法是什么?
我有一个嵌套的map在java中更改嵌套映射中的内部值类型的最简单方法是什么?,java,java-stream,nested-map,Java,Java Stream,Nested Map,我有一个嵌套的mapmap传递给我,我想把它改为typemap,在Java中使用stream最简单的方法是什么?我曾尝试使用Collectors.groupingBy,但无法使其工作。最好的方法是迭代外部映射和内部映射中的每个条目,然后将内部映射条目值List转换为Set Map<String, Map<String, Set<ObjectA>>> resultMap = map.entrySet().stream() .collect
map
传递给我,我想把它改为typemap
,在Java中使用stream最简单的方法是什么?我曾尝试使用Collectors.groupingBy,但无法使其工作。最好的方法是迭代外部映射和内部映射中的每个条目,然后将内部映射条目值List
转换为Set
Map<String, Map<String, Set<ObjectA>>> resultMap = map.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, val -> new HashSet<>(val.getValue())))));
Map<String, Map<String, Set<ObjectA>>> resultMap = map.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, val -> new LinkedHashSet<>(val.getValue())))));