java - 如果键匹配,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}}}
解决方案
我想你想要这个:
abc.computeIfPresent("disabled", (k,v) -> {
v.put("group", yourValue);
return v;
});
或者简单地说:
if (abc.containsKey("disabled")) {
abc.get("disabled").put("group", yourValue);
}
我个人更喜欢第一种方法,因为它更快一些并且可以与并发地图一起正常工作。
推荐阅读
- json - 在 bash 中将 JSON 打印为表格
- php - 在 WooCommerce 类别档案中仅在第 6 个产品之后插入一次 DIV
- windows - 使用 win_lineinfile 模块搜索关键字,但字符串插入到文件中
- python - 我在 python 中的简单计算器不适用于负数
- python - 如何从自己的 python 代码中调用 pytest 来收集测试
- dkim - 如何在谷歌域上的别名转发电子邮件地址传递 dkim 和 dmarc
- c# - 如何在 C# 中为引用类型(托管对象)分配连续内存?
- javascript - Browserstack 自定义报告器 Cypress 配置
- redux - Redux - 如何在handleChange中更改数量时获取更新的输入值
- xamarin.forms - 从 Xamarin.Forms 连接到本地 CosmosDB 模拟器