我是否需要删除值然后添加或者我可以直接在HashMap中添加它并且它会有效地更新吗? 即。
HashMap<String, String> person = new HashMap<String, String>();
person.add("name", "John");
现在,这将是更新以上键值的更好/更有效的方法:
A)
person.remove("name");
person.add("name", "jamy");
b)中
person.add("name", "jamy");
或两者都是一样的?
这是一个非常小的例子。考虑一个包含其他HashMaps的大型HashMap,这是更好的选择,还有更有效的方法吗?
答案 0 :(得分:2)
您可以输入新值。它将取代旧的。 来自javadoc:
如果地图以前包含该键的映射,则替换旧值。
注意该方法为put
,而非add
。 add
不是Hashmap
已编辑:我在Naman Gala评论时添加了文档的参考链接。
答案 1 :(得分:0)
使用put方法,因为如果密钥存在,它将替换给定键的值,否则将创建新条目
答案 2 :(得分:0)
java.util.HashMap提供了put方法来在地图中添加键和对象。如果要更新HashMap对象,则不必删除该对象。如果地图中的任何对象具有相同的键,它将返回上一个对象。否则,它将只返回null。您不必每次都删除它。只需使用
java.util.HashMap.put(key, object);