putIfAbsent
是Java中的一个方法,用于在映射(Map)中插入一个键值对。如果映射中不存在该键,则插入该键值对;否则,不执行任何操作。这个方法属于java.util.Map
接口,并提供了多种实现,如HashMap
、TreeMap
等。
以下是使用putIfAbsent
方法的一些示例:
- 使用
HashMap
实现:
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Mapmap = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); // 尝试插入一个不存在的键值对 String newValue = "https://www.yisu.com/ask/value3"; String existingValue = https://www.yisu.com/ask/map.putIfAbsent("key1", newValue); if (existingValue =https://www.yisu.com/ask/= null) {"Key1 was not present, and has been inserted with value: " + newValue); } else { System.out.println("Key1 was already present with value: " + existingValue); } } }
- 使用
TreeMap
实现:
import java.util.Map; import java.util.TreeMap; public class Main { public static void main(String[] args) { Mapmap = new TreeMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); // 尝试插入一个不存在的键值对 String newValue = "https://www.yisu.com/ask/value3"; String existingValue = https://www.yisu.com/ask/map.putIfAbsent("key1", newValue); if (existingValue =https://www.yisu.com/ask/= null) {"Key1 was not present, and has been inserted with value: " + newValue); } else { System.out.println("Key1 was already present with value: " + existingValue); } } }
在这两个示例中,我们首先创建了一个映射(HashMap
或TreeMap
),然后尝试插入一个不存在的键值对。putIfAbsent
方法返回映射中已存在的键对应的值(如果存在),否则返回null
。根据返回值,我们可以判断键是否已经存在于映射中。