java - 如何更新 map 中的 map ?

标签 java dictionary

我有一个 Map of Maps 看起来像这样:

Map<String, Map<String, Object>> data;

我想更新内图。

我应该在每次更新内部 map 时执行以下操作,还是有任何其他直接/更好的方法来完成它?

Map<String, Object> innerMap = data.get("outer_key");
innerMap.put("inner_key", value);
data.put("outer_key", innerMap);

最佳答案

我想你可能有错别字,我假设 inner 实际上是 innerMap。我可能会稍微更改它以说明外部 map 中的 null 值:

Map<String, Object> innerMap = data.get("outer_key");

// Added this if statement to handle null values in the outer map.
if (innerMap == null) {
    innerMap = new HashMap<String, Object>();
    data.put("outer_key", innerMap);
}

innerMap.put("inner_key", value);
// data.put("outer_key", innerMap); <-- This is not needed, innerMap is already a value in
                                     // the outer map.

关于java - 如何更新 map 中的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9069906/

相关文章:

java - 如何在 Java 中创建、填充和打印字符串数组

java - 如何让 OpenEJB 使用 slf4j?

java - System.out.print() 无效,log4j 仍然有效

python - 在 python 字典中插入或更新键

Java/Android 子弹对象流程

arrays - 我想将具有属性(btnImage + btnTitle)的字典数组从Plist读取到TableViewCell中

python - 迭代两个或多个列表/numpy 数组...并将每个项目相互比较并避免 python 中的循环

r - 美国和加拿大的彩色网格单元格

Python:使用虚拟类传递变量名?

java - 基于图 block 的游戏中的重复图 block