首页 > 解决方案 > 如果键匹配,Java 将 `HashMap` 值附加到现有的 HashMap

问题描述

我在下面打印了 HashMap(to.String()) 。

HashMap<String, HashMap<String, HashMap<String, Integer>>> abc = new HashMap<>();

HashMap abc = {disabled={account={testConfiguration=1, iterate=1}}}

如果键匹配,我想附加{group={iterate=1}}到现有地图 。disabled

最后我的地图应该如下所示,我该如何实现呢?

HashMap abc = {disabled={account={testConfiguration=1, iterate=1}, {group={iterate=1}}}

标签: javadata-structurescollectionshashmap

解决方案


我想你想要这个:

abc.computeIfPresent("disabled", (k,v) -> {
    v.put("group", yourValue);
    return v;
});

或者简单地说:

if (abc.containsKey("disabled")) {
    abc.get("disabled").put("group", yourValue);
}

我个人更喜欢第一种方法,因为它更快一些并且可以与并发地图一起正常工作。


推荐阅读