【发布时间】:2021-08-09 17:26:32
【问题描述】:
最简单的方法是循环,但这会很冗长,我更喜欢 Java 8 的更简洁的解决方案。
mapCopy = map.entrySet().stream()
.collect(Collectors.toMap(e -> e.getKey(), e -> List.copyOf(e.getValue())))
用于复制HashMap<Integer, List>,但我拥有的是HashMap<String, HashMap<String, Integer>。我也为列表尝试了上述方法,但由于某种原因,e.getKey() 和 e.getValue() 都“无法解决”,即使 IntelliJ 自动将其预测为有效方法,e 指的是 Map.Entry
我不太擅长使用流,所以我不知道为什么上面的方法不起作用,或者如何完成我想要的。
【问题讨论】:
-
该值是否可以包含其他地图?值是什么类型的 Map?
-
已编辑! HashMap
>
标签: java java-stream