五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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的新方法的評論 (共 條)

分享到微博請遵守國家法律
陆河县| 高密市| 静海县| 赤壁市| 凤凰县| 凤山市| 保山市| 渝北区| 九江县| 化德县| 五峰| 洛扎县| 手游| 龙井市| 平顶山市| 枣阳市| 平昌县| 通山县| 芮城县| 潼南县| 中卫市| 宝丰县| 哈尔滨市| 谢通门县| 娄底市| 德安县| 海南省| 石柱| 龙海市| 合阳县| 泸西县| 白朗县| 阿城市| 当阳市| 德化县| 万州区| 康乐县| 井冈山市| 武清区| 吴江市| 牟定县|