无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
宜兴市| 汉寿县| 齐齐哈尔市| 双峰县| 垦利县| 安阳市| 余江县| 庐江县| 章丘市| 嵊州市| 永和县| 安陆市| 新建县| 苏尼特右旗| 龙岩市| 平潭县| 广州市| 泾阳县| 霍城县| 漳浦县| 格尔木市| 滁州市| 体育| 腾冲县| 大埔区| 金川县| 鹤山市| 井研县| 乐亭县| 云南省| 武汉市| 渑池县| 静宁县| 大渡口区| 吴川市| 稷山县| 丹东市| 阜宁县| 哈尔滨市| 宁乡县| 聊城市|