putIfAbsent() 方法会先判断指定的键(key)是否存在,不存在则将键/值对插入到 HashMap 中。
putIfAbsent() 方法的语法为:
hashmap.putIfAbsent(K key, V value)
注:hashmap 是 HashMap 类的一个对象。
参数说明:
- key - 键
- value - 值
返回值
如果所指定的 key 已经在 HashMap 中存在,返回和这个 key 值对应的 value, 如果所指定的 key 不在 HashMap 中存在,则返回 null。
注意:如果指定 key 之前已经和一个 null 值相关联了 ,则该方法也返回 null。
实例
以下实例演示了 putIfAbsent() 方法的使用:
实例
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// 创建一个 HashMap
HashMap<Integer, String> sites = new HashMap<>();
// 往 HashMap 添加一些元素
sites.put(1, "Google");
sites.put(2, "Runoob");
sites.put(3, "Taobao");
System.out.println("sites HashMap: " + sites);
// HashMap 不存在该key
sites.putIfAbsent(4, "Weibo");
// HashMap 中存在 Key
sites.putIfAbsent(2, "Wiki");
System.out.println("Updated Languages: " + sites);
}
}
class Main {
public static void main(String[] args) {
// 创建一个 HashMap
HashMap<Integer, String> sites = new HashMap<>();
// 往 HashMap 添加一些元素
sites.put(1, "Google");
sites.put(2, "Runoob");
sites.put(3, "Taobao");
System.out.println("sites HashMap: " + sites);
// HashMap 不存在该key
sites.putIfAbsent(4, "Weibo");
// HashMap 中存在 Key
sites.putIfAbsent(2, "Wiki");
System.out.println("Updated Languages: " + sites);
}
}
执行以上程序输出结果为:
sites HashMap: {1=Google, 2=Runoob, 3=Taobao}Updated sites HashMap: {1=Google, 2=Runoob, 3=Taobao, 4=Weibo}
在以上实例中,我们创建了一个名为 sites 的 HashMap,注意这一行:
sites.putIfAbsent(2, "Wiki");
key 为 2 已经存在于 sites 中,所以不会执行插入操作。