HashMap 1.8版本 函數式API

/**
     * main 測試
     *
     * @param args
     */
    public static void main(String[] args) throws Exception {
        HashMap<String, Object> map = new HashMap<>();
        map.put("1", "23");
        
        /*
        *  key 存在時替換key的value
        *  key不存在 返回 null
        * */
        Object o1 = map.computeIfPresent("1", (k, v) -> {
            return "2";
        });

        /*
        *  key 存在時 返回當前key的value
        *  key不存在時 將入參key 函數式返回值value 放進 map中
        * */
        Object o2 = map.computeIfAbsent("2", (v) -> {

            return "2";
        });

       /*
       *  key 存在 替換 該key的value
       *  key 不存在 將入參key 函數式返回值value 放進map中
       * */
        Object compute = map.compute("2", (k, v) -> {
            return "compute";
        });

        /*
        *  key 存在 將key的value 改爲 函數式的返回值
        *  key 不存在 將入參 key-value,放進map中
        *
        * */
        Object merge = map.merge("2", "3", (k, v) -> {

            return "merge";
        });
        System.out.println(merge);
        System.out.println(map);


    }

 

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