putIfAbsent
是Java中的一個方法,用于在映射(Map)中插入一個鍵值對。如果映射中不存在該鍵,則插入該鍵值對;否則,不執(zhí)行任何操作。這個方法屬于java.util.Map
接口,并提供了多種實現(xiàn),如HashMap
、TreeMap
等。
以下是使用putIfAbsent
方法的一些示例:
HashMap
實現(xiàn):import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
// 嘗試插入一個不存在的鍵值對
String newValue = "value3";
String existingValue = map.putIfAbsent("key1", newValue);
if (existingValue == null) {
System.out.println("Key1 was not present, and has been inserted with value: " + newValue);
} else {
System.out.println("Key1 was already present with value: " + existingValue);
}
}
}
TreeMap
實現(xiàn):import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new TreeMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
// 嘗試插入一個不存在的鍵值對
String newValue = "value3";
String existingValue = map.putIfAbsent("key1", newValue);
if (existingValue == null) {
System.out.println("Key1 was not present, and has been inserted with value: " + newValue);
} else {
System.out.println("Key1 was already present with value: " + existingValue);
}
}
}
在這兩個示例中,我們首先創(chuàng)建了一個映射(HashMap
或TreeMap
),然后嘗試插入一個不存在的鍵值對。putIfAbsent
方法返回映射中已存在的鍵對應(yīng)的值(如果存在),否則返回null
。根據(jù)返回值,我們可以判斷鍵是否已經(jīng)存在于映射中。