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 value 相关联,那么该方法也会返回 null


示例 1:Java HashMap putIfAbsent()

import java.util.HashMap;

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

    // create a HashMap
    HashMap<Integer, String> languages = new HashMap<>();

    // add mappings to HashMap
    languages.put(1, "Python");
    languages.put(2, "C");
    languages.put(3, "Java");
    System.out.println("Languages: " + languages);

    // key already not present in HashMap
    languages.putIfAbsent(4, "JavaScript");

    // key already present in HashMap
    languages.putIfAbsent(2, "Swift");
    System.out.println("Updated Languages: " + languages);
  }
}

输出

Languages: {1=Python, 2=C, 3=Java}
Updated Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}

在上面的示例中,我们创建了一个名为 languages 的 hashmap。请注意这一行:

languages.putIfAbsent(4, "JavaScript");

在此,键 4 尚未与任何值相关联。因此,putifAbsent() 方法将映射 {4 = JavaScript} 添加到 hashmap 中。

注意这行:

languages.putIfAbsent(2, "Swift");

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

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战