【发布时间】:2021-03-22 19:18:54
【问题描述】:
我有一个HashMap<Integer, ArrayList<String>> 列表,并希望将它们合并到一个循环中。
问题是每个地图的键都是从 0 开始的,所以键会被复制。 putAll() 不起作用,因为它会覆盖键并总是给我最后一张地图。
我已经看到了使用 Stream 合并两个地图的示例,但在我的情况下,可能有超过 2 个地图。我正在尝试生成具有增量键的合并映射。例如:
假设我在列表中有 2 个映射(可能更多),并且两个键都从 0 开始但以不同的值结束。
第一张地图,key从0开始到10结束
第二张地图,key从0开始到15结束
是否可以添加从 11 开始的密钥的第二张地图? 最后,我需要一个合并的映射,其中第一个键从 0 开始,最后一个键在 25 结束。
【问题讨论】:
-
HashMap 不允许重复键,因此它将覆盖键。您究竟想在这里实现什么输出?
-
我假设你的意思是用相同的键合并映射条目的字符串列表?
-
@RajaShekar 编辑了问题以澄清我的需求。键应该是增量的。
标签: java dictionary collections merge stream