91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jdk1.8中map的compute,computeIfAbsent,computeIfPresent方法怎么用

發布時間:2021-12-17 13:51:52 來源:億速云 閱讀:241 作者:小新 欄目:大數據

這篇文章主要為大家展示了“jdk1.8中map的compute,computeIfAbsent,computeIfPresent方法怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“jdk1.8中map的compute,computeIfAbsent,computeIfPresent方法怎么用”這篇文章吧。

1.compute

compute:V compute(K key, BiFunction < ? super K, ? super V, ? extends V> remappingFunction)

compute的方法,指定的key在map中的值進行操作 不管存不存在,操作完成后保存到map中

        HashMap<String,Integer> map = new HashMap<>();
        map.put("1",1);
        map.put("2",2);
        map.put("3",3);
        Integer integer = map.compute("3", (k,v) -> v+1 );
        //key不管存在不在都會執行后面的函數,并保存到map中
        Integer integer1 = map.compute("4", (k,v) -> {
            if (v==null)return 0;
            return v+1;
        } );
        System.out.println(integer);
        System.out.println(integer1);
        System.out.println(map.toString());
 
打印結果
4
0
{1=1, 2=2, 3=4, 4=0}

2.computeIfAbsent

computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)

computeIfAbsent的方法有兩個參數 第一個是所選map的key,第二個是需要做的操作。這個方法當key值不存在時才起作用。

當key存在返回當前value值,不存在執行函數并保存到map中

    HashMap<String,Integer> map = new HashMap<>();
    map.put("1",1);
    map.put("2",2);
    map.put("3",3);
    Integer integer = map.computeIfAbsent("3", key -> new Integer(4));//key存在返回value
    Integer integer1 = map.computeIfAbsent("4", key -> new Integer(4));//key不存在執行函數存入
    System.out.println(integer);
    System.out.println(integer1);
    System.out.println(map.toString());
 
 
打印結果
3
4
{1=1, 2=2, 3=3, 4=4}

3.computeIfPresent

computeIfPresent:V computeIfPresent(K key, BiFunction < ? super K, ? super V, ? extends V> remappingFunction)

computeIfPresent 的方法,對 指定的 在map中已經存在的key的value進行操作。只對已經存在key的進行操作,其他不操作

        HashMap<String,Integer> map = new HashMap<>();
        map.put("1",1);
        map.put("2",2);
        map.put("3",3);
        //只對map中存在的key對應的value進行操作
        Integer integer = map.computeIfPresent("3", (k,v) -> v+1 );
        Integer integer1 = map.computeIfPresent("4", (k,v) -> {
            if (v==null)return 0;
            return v+1;
        } );
        System.out.println(integer);
        System.out.println(integer1);
        System.out.println(map.toString());
 
 
打印結果
4
null
{1=1, 2=2, 3=4}

以上是“jdk1.8中map的compute,computeIfAbsent,computeIfPresent方法怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康乐县| 观塘区| 广昌县| 泸西县| 陵水| 玉门市| 漯河市| 鹤峰县| 黎川县| 鹤庆县| 定安县| 吉安市| 固镇县| 黄梅县| 安康市| 黑龙江省| 博爱县| 昭觉县| 武强县| 蚌埠市| 松江区| 宁德市| 太和县| 五台县| 专栏| 天水市| 鄂尔多斯市| 手机| 会东县| 赣州市| 扎赉特旗| 吐鲁番市| 永兴县| 西贡区| 土默特右旗| 军事| 大悟县| 育儿| 蓬溪县| 福海县| 凉城县|