从另一个映射值更新一个Map键

时间:2018-05-16 17:28:01

标签: java maps

我有一个名为list的HashMap,其中包含一些key/values。我有另一个名为modify的HashMap,它包含另一组key/values

基本上modify散列图应该包含与list中的密钥匹配的一个或多个密钥,我想更新list中的密钥作为值与modify中的该键匹配。

我试过了:

iter = modifyList.entrySet().iterator();
while(iter.hasNext()) {
     list.replace(iter.next().getKey(), iter.next().getValue());
}

但是,当您调用iter.next().getKey()时,它明显会向前迭代,因此现在我想要的值不再位于next()而是current。但是,我找不到任何方法来访问current

中的内容

有没有人对完成此任务的最佳方法有任何建议?

1 个答案:

答案 0 :(得分:2)

尝试迭代键和值:

"Due next Month"

与以下内容相同:

"Due this month"

现在,如果您希望自行重新映射密钥,则可以使用modifyList.forEach(list::replace); modifyList.forEach((k, v) -> list.replace(k, v)); 的组合:

put