📅  最后修改于: 2023-12-03 15:15:56.149000             🧑  作者: Mango
putIfAbsent()
方法是Java中HashMap类的一个方法,它用于向HashMap中添加键值对,但仅在指定的键不存在时才执行添加操作。这个方法返回值为null或者指定键之前的值,具体取决于键是否存在。如果键已存在,则不会执行添加操作,并返回该键之前的值。
下面是putIfAbsent()
方法的语法:
V putIfAbsent(K key, V value)
key
:要添加的键value
:要添加的值putIfAbsent()
方法的返回值取决于键是否存在:
下面是一个使用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中仅在指定键不存在时才添加键值对。它可以避免重复添加相同的键值对,并提供了方便的返回值来说明添加操作的结果。