我进行了搜索,很惊讶以前没有人问过这个问题(至少我找不到)。
我有这样一张 map :
Map<String, String> myMap
我知道我可以使用 containsKey(Object key);
检查 map 中是否存在键,我可以使用 replace(String key, String value);
并自然地使用 put(String key, String value);
现在如果我想检查一个值是否存在更新它,否则插入它,我必须使用一个条件:
if(myMap.containsKey(key)) {
myMap.replace(key, value);
} else {
myMap.put(key, value);
}
有更好的方法吗?我个人觉得这个条件有点不必要,而且过于复杂,可能是一行而不是五行!
最佳答案
替换将由 put()
完成:
来自 HashMap 的文档
public V put(K key, V value) Associates the specified value with the specified key in this map. If the map previously contained a mapping for the key, the old value is replaced.
所以你只需要
myMap.put(key, value);
关于java - 如何更新 map 中的值(如果存在)否则将其插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876857/