最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

淺談Java8中map的新方法

2023-07-21 12:10 作者:wx19970108018  | 我要投稿

淺談Java8中map的新方法

Map在java8中新增了兩個(gè)replace的方法


1.replace(k,v)


在指定的鍵已經(jīng)存在并且有與之相關(guān)的映射值時(shí)才會將指定的鍵映射到指定的值(新值)


在指定的鍵不存在時(shí),方法會return回來一個(gè)null


javadoc的注釋解釋了該默認(rèn)值方法的實(shí)現(xiàn)的等價(jià)Java代碼:


if (map.containsKey(key)) {

return map.put(key, value);


} else {

return null;


}


下面展示的是新方法和JDK8之前的方法比較:


/*


* 示范Map.replace(K, V)方法并和JDK8之前的實(shí)現(xiàn)方法做對比。JDK8


* 中新增的Map.replace(K, V)方法相比于傳統(tǒng)的實(shí)現(xiàn)方法,所用的代碼行數(shù)更少


* 并且允許用一個(gè)final類型iHqNXGmXWH的變量來接收返回值。


*/


// JDK8之前的實(shí)現(xiàn)方式


String replacedCapitalCity;


if (statesAndCapitals.containsKey("Alaska")) {

replacedCapitalCity = statesAndCapitals.put("Alaska", "Juneau");


}


// JDK8的實(shí)現(xiàn)方式


final String replacedJdk8City = statesAndCapitals.replace("Alaska", "Juneau");


2.replace(k,v,v)


第二的新增的Map replace方法在替換現(xiàn)存值方面有更窄的釋義范圍。當(dāng)那個(gè)方法(上一個(gè)replace方法)只是涵蓋指定的鍵在映射中有任意一個(gè)有效的值的替換處理,而這個(gè)“replace”方法接受一個(gè)額外的(第三個(gè))參數(shù),只有在指定的鍵和值都匹配的情況下才會替換。


javadoc注釋說明了該默認(rèn)值方法的實(shí)現(xiàn):


if (map.containsKey(key) && Objects.equals(map.get(key), value)) {

map.put(key, newValue);


return true;


} else {

return false;


}


下面這段代碼列舉展示的是新實(shí)現(xiàn)方法和JDK8之前的實(shí)現(xiàn)方法的一個(gè)具體比較。


/*


* 示范Map.replace(K, V, V)方法并和JDK8之前的實(shí)現(xiàn)方法做對比。JDK8


* 中新增的Map.replace(K, V, V)方法相比于傳統(tǒng)的實(shí)現(xiàn)方法,所用的代碼行數(shù)更少


* 并且允許用一個(gè)final類型的變量來接收返回值。


*/


// JDK8之前的實(shí)現(xiàn)方式


boolean replaced = false;


if ( statesAndCapitals.containsKey("Nevada")


&& Objects.equals(statesAndCapitals.get("Nevada"), "Las Vegas")) {

statesAndCapitals.put("Nevada", "Carson City");


replaced = true;


}


// JDK8的實(shí)現(xiàn)方式


final boolean replacedJdk8 = statesAndCapitals.replace("Nevada", "Las Vegas", "Carson City");



淺談Java8中map的新方法的評論 (共 條)

分享到微博請遵守國家法律
富顺县| 娄底市| 乐陵市| 庆城县| 隆回县| 资阳市| 开原市| 巴彦县| 镇安县| 宾川县| 阿图什市| 卓资县| 瑞安市| 台前县| 丰都县| 仲巴县| 巴塘县| 沙湾县| 杭锦旗| 仁化县| 长泰县| 遂宁市| 敖汉旗| 灵宝市| 宝山区| 郧西县| 镇江市| 忻州市| 新营市| 平乐县| 石楼县| 新兴县| 长春市| 静宁县| 辉南县| 高台县| 苗栗县| 平阳县| 阳信县| 云安县| 云浮市|