Java8Map的API筆記

package com.jd.stock.common.domain;

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

public class MapTestInJava8 {
    public static Map<String, String> map = new HashMap<>();
    static {
        map.put("a", "A");
        map.put("b", "B");
        map.put("c", "C");
    }

    public static void main(String[] args) {
        compute();
    }

    /**
     * 使用lambda表達式的計算結果賦值到給定的key上
     * (k,v)-{}  k爲compute方法的第一個參數值,即給定的Key。v爲給定key在原Map中的舊值。
     * compute方法返回值爲lambda表達式計算出的新值
     */
    public static void compute(){
        String result = map.compute("A", (k, v) -> {
            System.out.println(k); // A
            System.out.println(v); // null
            return "aa";
        });
        System.out.println(result); // aa

        String result1 = map.compute("a", (k, v) -> {
            System.out.println(k); // a
            System.out.println(v); // A
            return "bb";
        });
        System.out.println(result1); // bb

        System.out.println(map); // {A=aa, a=bb, b=B, c=C}
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章