runoops.com

Java HashMap putIfAbsent() 方法

Java HashMap

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 中,所以不会执行插入操作。

Java HashMap