在java中更新HashMap

时间:2015-07-23 05:43:55

标签: java hashmap

我是否需要删除值然后添加或者我可以直接在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,这是更好的选择,还有更有效的方法吗?

3 个答案:

答案 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);