【发布时间】:2016-10-18 16:07:02
【问题描述】:
这是我的HashMap:
HashMap<String, LinkedList<LinkedList<String>>> partitionMap = new HashMap<String, LinkedList<LinkedList<String>>>();
我知道使用 put 方法可以工作,例如:
hashmap.put(key, hashmap.get(key) + 1);
但是在这个例子中我们有Integer,在我的例子中我有一个LinkedList<LinkedList<String>>>
有没有办法做到这一点?
【问题讨论】:
-
“有没有办法做同样的事情?” >> ,然后通过调用它的方法来修改它......例如hashmap.get(key).add(....)
-
是更新链表的内容还是链表本身?
-
如果我执行 hashmap.get(key).add(...) 它会返回错误,因为 add 方法返回一个布尔值。那就是问题所在。我想更新 LinkedList 本身。
-
如果您使用的是 java 8,我建议您查看
putIfAbsent()、computeIfAbsent()、computeIfPresent()和merge() -
@user840718 所以?只需忽略返回值。只需调用 hashmap.get(key).add(....) 就足以修改列表。它们不是一成不变的。如果你想用一个完整的新对象替换它,只需调用 hashmap.put(key, new LinkedList
>())。
标签: java list linked-list hashmap