亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java putifabsent與put區別

小樊
83
2024-11-18 15:29:14
欄目: 編程語言

putIfAbsentput都是Java集合框架中Map接口的方法,它們都用于向Map中添加元素。但是,這兩個方法之間存在一些關鍵區別:

  1. 當鍵不存在時:

    • putIfAbsent:如果指定的鍵不存在于Map中,則將鍵值對添加到Map中。如果鍵已經存在,則不會執行任何操作,并返回鍵對應的舊值(如果存在)。
    • put:將鍵值對添加到Map中,如果鍵已經存在,則會覆蓋舊的值,并返回鍵對應的舊值(如果存在)。
  2. 返回值:

    • putIfAbsent:返回鍵對應的舊值(如果存在),否則返回null
    • put:返回鍵對應的舊值(如果存在),否則返回null

下面是一個簡單的示例:

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();

        // 使用putIfAbsent
        String oldValue1 = map.putIfAbsent("key1", "value1");
        System.out.println("Old value for key1 (putIfAbsent): " + oldValue1); // 輸出:null
        System.out.println("Value for key1 (putIfAbsent): " + map.get("key1")); // 輸出:value1

        String oldValue2 = map.putIfAbsent("key1", "value2");
        System.out.println("Old value for key1 (putIfAbsent): " + oldValue2); // 輸出:value1
        System.out.println("Value for key1 (putIfAbsent): " + map.get("key1")); // 輸出:value1

        // 使用put
        String oldValue3 = map.put("key2", "value3");
        System.out.println("Old value for key2 (put): " + oldValue3); // 輸出:null
        System.out.println("Value for key2 (put): " + map.get("key2")); // 輸出:value3

        String oldValue4 = map.put("key1", "value4");
        System.out.println("Old value for key1 (put): " + oldValue4); // 輸出:value1
        System.out.println("Value for key1 (put): " + map.get("key1")); // 輸出:value4
    }
}

總結:putIfAbsentput的主要區別在于,當鍵已經存在于Map中時,putIfAbsent不會修改鍵對應的值,而put會覆蓋舊的值。在其他方面,這兩個方法的返回值和行為相似。

0
铜山县| 万年县| 常德市| 永嘉县| 黄山市| 乌兰察布市| 合肥市| 临江市| 雅安市| 逊克县| 南华县| 临汾市| 英德市| 孝义市| 临朐县| 淮南市| 鄂州市| 广元市| 斗六市| 额济纳旗| 阳江市| 镇安县| 合阳县| 黄骅市| 德兴市| 富锦市| 杭锦旗| 应用必备| 正镶白旗| 修水县| 玉屏| 勐海县| 洪江市| 江山市| 云龙县| 西平县| 正蓝旗| 石渠县| 锦州市| 昆明市| 吕梁市|