【发布时间】:2019-01-16 10:24:12
【问题描述】:
我试图使用此处给出的想法来调整嵌套哈希图,但我的解决方案不起作用:How to update a value, given a key in a java hashmap?。我的嵌套哈希图是shoppingLists。它包含购物清单listID 的外部哈希图作为键和项目的哈希图作为值。 items hashmap包含itemName作为键和项目的数量作为值。 adjustItemAmount 尝试将项目的数量调整为给定数量 x。
HashMap<String, HashMap<String, Integer>> shoppingLists = new HashMap<>();
public void adjustItemAmount(String itemName, int x, String listID) {
int current_amount = shoppingLists.get(listID).get(itemName);
HashMap<String, Integer> items = shoppingLists.get(listID);
HashMap updatedItems = items.put(itemName, items.get(itemName) + x);
shoppingLists.put(listID, updatedItems);
}
HashMap updatedItems = items.put(itemName,items.get(itemName)+x); 行指出 Java 需要一个 hashmap 但得到一个整数。我不明白这是怎么回事。
【问题讨论】:
-
那么,这段代码有什么问题?
-
编辑问题以表明问题。
-
“声明 Java 需要一个哈希图但得到一个整数”是什么意思?如果您遇到异常,请发布完整的详细信息:异常类型、消息和堆栈跟踪。另外,请创建一个reproducible example。目前,如果不对您的数据做出假设,我们就无法执行您的代码。