📜  Java HashMap putIfAbsent()(1)

📅  最后修改于: 2023-12-03 15:15:56.149000             🧑  作者: Mango

Java HashMap putIfAbsent()方法

介绍

putIfAbsent()方法是Java中HashMap类的一个方法,它用于向HashMap中添加键值对,但仅在指定的键不存在时才执行添加操作。这个方法返回值为null或者指定键之前的值,具体取决于键是否存在。如果键已存在,则不会执行添加操作,并返回该键之前的值。

语法

下面是putIfAbsent()方法的语法:

V putIfAbsent(K key, V value)
  • key:要添加的键
  • value:要添加的值
返回值

putIfAbsent()方法的返回值取决于键是否存在:

  • 如果键存在,则返回该键之前的值
  • 如果键不存在,则返回null
示例

下面是一个使用putIfAbsent()方法的示例代码:

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        // 创建一个HashMap
        HashMap<Integer, String> map = new HashMap<>();

        // 添加键值对
        map.put(1, "One");
        map.put(2, "Two");
        System.out.println("HashMap: " + map);

        // 在键2不存在时添加一个键值对
        String oldValue = map.putIfAbsent(2, "New Two");
        System.out.println("Old Value: " + oldValue);
        System.out.println("Updated HashMap: " + map);

        // 在键3不存在时添加一个键值对
        String newValue = map.putIfAbsent(3, "Three");
        System.out.println("New Value: " + newValue);
        System.out.println("Updated HashMap: " + map);
    }
}

输出结果:

HashMap: {1=One, 2=Two}
Old Value: Two
Updated HashMap: {1=One, 2=Two}
New Value: Three
Updated HashMap: {1=One, 2=Two, 3=Three}

在上面的示例中,首先我们创建了一个HashMap并添加了两个键值对(1=One、2=Two)。然后我们使用putIfAbsent()方法尝试向HashMap中添加一个新的键值对。由于键2已存在,所以不会执行任何添加操作,并返回键2之前的值(Two)。然后我们再次使用putIfAbsent()方法尝试向HashMap中添加另一个新的键值对。由于键3不存在,所以将执行添加操作,并返回null。在每个步骤后,我们打印出更新后的HashMap的内容。

总结

putIfAbsent()方法是一种简便的方法,用于在HashMap中仅在指定键不存在时才添加键值对。它可以避免重复添加相同的键值对,并提供了方便的返回值来说明添加操作的结果。