📅  最后修改于: 2023-12-03 15:01:53.499000             🧑  作者: Mango
在Java中,HashMap是一种非常常见的数据结构,它提供了许多有用的方法,其中之一就是putIfAbsent(key, value)方法。这个方法可以向HashMap中添加一个键值对,但是如果这个键已经存在,则不会覆盖原有的值,而是返回原有的值。
V putIfAbsent(K key, V value)
下面是一个简单的实例,展示了如何使用putIfAbsent方法。
import java.util.HashMap;
public class HashMapDemo {
public static void main(String[] args) {
// 创建HashMap
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
// 使用putIfAbsent
Integer val1 = map.putIfAbsent("c", 4); // 将不会添加进去
Integer val2 = map.putIfAbsent("d", 4); // 将会添加进去
// 输出结果
System.out.println(map); // {a=1, b=2, c=3, d=4}
System.out.println(val1); // 3
System.out.println(val2); // null
}
}
在这个例子中,我们创建了一个HashMap,并添加了三个键值对。然后我们使用putIfAbsent方法添加了两个更多的键值对。第一个键值对使用了已存在的键“c”,因此它不会添加到HashMap中,而是返回了原有的值。第二个键值对使用了一个新的键“d”,因此它被添加到HashMap中,而返回值为null。
在这个示例中,我们可以看到putIfAbsent方法的使用效果。如果你需要向HashMap中添加键值对,但是不想覆盖已存在的键,那么这个方法就是你所需的。