📜  Java HashMap putIfAbsent()

📅  最后修改于: 2020-09-27 00:46:35             🧑  作者: Mango

如果哈希表中不存在指定的键,则Java HashMap的putIfAbsent()方法会将指定的键/值映射插入到哈希图中。

putIfAbsent()方法的语法为:

hashmap.putIfAbsent(K key, V value)

在这里, hashmapHashMap类的对象。


putIfAbsent()参数

putIfAbsent()方法采用两个参数。

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

putAbsent()返回值
  • 返回与该相关联的 ,如果指定是已经存在于散列映射
  • 如果指定的在哈希图中已经不存在,则返回null

注意 :如果指定的先前与null值关联,则该方法还返回null


示例1:Java HashMap putIfAbsent()
import java.util.HashMap;

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

    // create a HashMap
    HashMap 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}

在上面的示例中,我们创建了一个名为language的哈希表。注意这一行,

languages.putIfAbsent(4, "JavaScript");

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

注意这一行,

languages.putIfAbsent(2, "Swift");

此处,键2已经与值Java关联。因此, putIfAbsent()方法不会将映射{2 = Swift}添加到哈希图中。

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