日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解

發布時間:2023/11/28 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Map.getOrDefault()

翻譯一下官方解釋:

java.util.Map<K, V> V getOrDefault(Object key,
V defaultValue)
返回到指定鍵所映射的值,或defaultValue如果此映射包含該鍵的映射。
入參:
鍵 - 其關聯值的鍵是要返回
默認值 - 鍵的默認映射
反參:
值以指定鍵被映射,或defaultValue如果此映射包含該鍵的映射
拋出:
ClassCastException -如果該鍵是不合適的類型為這個地圖(可選)
NullPointerException -如果指定鍵為null并且此映射不允許null鍵(可選)
implSpec:
缺省的實現有關此方法的同步或原子性沒有保證。 任何實現提供原子性保證必須覆蓋此方法,并記錄它的并發性能。
1.8加入

意思呢就是,調用getOrDefault方法傳入key和一個值如果當前key有值則返回對應的value如果沒有值則設定為傳入的值為默認值

來看一下實際使用:

Map<String, Integer> counter = new HashMap<>();
counter.put("1",1);
counter.put("2",0);
counter.put("3",2);
counter.put("4",3);
//這里的value就獲取到了已經存在的key="1"的value
int  value = counter.getOrDefault("1", 0);
//這里的value2因為key為“5”的鍵值對不存在,就會進行一個put操作,然后將value設置為0;
int  value2 = counter.getOrDefault("5", 0);

2. Map.value()

翻譯一下官方說明:

返回一個Collection值的視圖包含在此映射。 收集由映射支持,所以對映射的改變被反映在集合中,并且反之亦然。 如果地圖被同時修改了該集合的迭代過程中(除了通過迭代器自己的remove操作),則迭代的結果是不確定的。 收集支撐元件移除,即從地圖相應的映射,通過Iterator.remove,Collection.remove,removeAll,retainAll和清除操作。 它不支持add或addAll操作。

返回:值的集合視圖包含在此映射

意思呢就是,返回當前Map中所有的value值為一個集合

來看一下實際使用:

Map<String, Integer> counter = new HashMap<>();
counter.put("1",1);
counter.put("2",0);
counter.put("3",2);
counter.put("4",3);
Collection<Integer> collection = counter.values();
c.forEach(ele -> System.out.println(ele));
輸出:
1
0
2
3

這里就將map中的value全部拿了出來放在了一個集合中,當遇到需要直接使用map中的value值時,就可以使用這個方法進行快捷的轉化。

總結

以上是生活随笔為你收集整理的java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。