跳到主要内容

Java HashMap putIfAbsent() 方法

putIfAbsent() 方法的语法是:

hashmap.putIfAbsent(K key, V value)

这里,hashmapHashMap 类的一个对象。

putIfAbsent() 方法的参数

putIfAbsent() 方法接受两个参数。

  • key - 指定的 value 与此 key 相关联
  • value - 指定的 key 与此 value 相映射

putAbsent() 方法的返回值

  • 如果指定的 key 已存在于 hashmap 中,返回与 key 相关联的 value
  • 如果指定的 key 未存在于 hashmap 中,返回 null

注意:如果指定的 key 之前已与一个 null 值 相关联,那么方法也返回 null

示例 1:Java HashMap putIfAbsent()

import java.util.HashMap;

class Main {
public static void main(String[] args){

// 创建一个 HashMap
HashMap<Integer, String> languages = new HashMap<>();

// 向 HashMap 添加映射
languages.put(1, "Python");
languages.put(2, "C");
languages.put(3, "Java");
System.out.println("语言: " + languages);

// 在 HashMap 中之前未存在的键
languages.putIfAbsent(4, "JavaScript");

// 在 HashMap 中已存在的键
languages.putIfAbsent(2, "Swift");
System.out.println("更新后的语言: " + languages);
}
}

输出

语言: {1=Python, 2=C, 3=Java}
更新后的语言: {1=Python, 2=C, 3=Java, 4=JavaScript}

在上述示例中,我们创建了一个名为 languages 的 hashmap。注意这行代码,

languages.putIfAbsent(4, "JavaScript");

这里,键 4 之前未与任何值关联。因此,putIfAbsent() 方法将映射 {4 = JavaScript} 添加到了 hashmap。

注意这行代码,

languages.putIfAbsent(2, "Swift");

这里,键 2 已与值 C 关联。因此,putIfAbsent() 方法不会将映射 {2 = Swift} 添加到 hashmap。

注意:我们已经使用 put() 方法添加了单个映射到 hashmap。要了解更多,请访问 Java HashMap put()