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 sites = new HashMap();
        // 往 HashMap 添加一些元素
        sites.put(1, "Google");
        sites.put(2, "Runoops");
        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=Runoops, 3=Taobao}
Updated sites HashMap: {1=Google, 2=Runoops, 3=Taobao, 4=Weibo}
在以上实例中,我们创建了一个名为 sites 的 HashMap,注意这一行:
sites.putIfAbsent(2, "Wiki");
key 为 2 已经存在于 sites 中,所以不会执行插入操作。
 自学教程
自学教程