Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java HashMap putIfAbsent() 使用方法及示例

Java HashMap 方法

如果指定的键没有出现在HashMap中,Java HashMap putIfAbsent()方法将指定的键/值映射插入到HashMap中。

putIfAbsent()方法的语法为:

hashmap.putIfAbsent(K key, V value)

putIfAbsent()参数

putIfAbsent()方法有两个参数。

  • key - 指定的值与key映射

  • value - 值与键相关联

putAbsent()返回值

  •  如果指定的键已经存在于哈希图中,则返回与键关联的值。

  • 如果指定的键在哈希映射中不存在,则返回null

注意: 如果先前指定了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<>();

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

    //键不在HashMap中
    languages.putIfAbsent(4, "JavaScript");

    //键出现在HashMap中
    languages.putIfAbsent(2, "Swift");
    System.out.println("更新后的 Languages: " + languages);
  }
}

输出结果

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

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

languages.putIfAbsent(4, "JavaScript");

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

注意这一行,

languages.putIfAbsent(2, "Swift");

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

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

Java HashMap 方法