溫馨提示×

java putifabsent怎樣實現(xiàn)

小樊
81
2024-11-18 15:26:14
欄目: 編程語言

putIfAbsent是Java中的一個方法,用于在映射(Map)中插入一個鍵值對。如果映射中不存在該鍵,則插入該鍵值對;否則,不執(zhí)行任何操作。這個方法屬于java.util.Map接口,并提供了多種實現(xiàn),如HashMap、TreeMap等。

以下是使用putIfAbsent方法的一些示例:

  1. 使用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);
        }
    }
}
  1. 使用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)建了一個映射(HashMapTreeMap),然后嘗試插入一個不存在的鍵值對。putIfAbsent方法返回映射中已存在的鍵對應(yīng)的值(如果存在),否則返回null。根據(jù)返回值,我們可以判斷鍵是否已經(jīng)存在于映射中。

0