最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談java8中map的新方法--replace

 更新時(shí)間:2016年10月14日 21:20:15   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談java8中map的新方法--replace。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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

1.replace(k,v)

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

在指定的鍵不存在時(shí),方法會(huì)return回來(lái)一個(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)方法做對(duì)比。JDK8
 * 中新增的Map.replace(K, V)方法相比于傳統(tǒng)的實(shí)現(xiàn)方法,所用的代碼行數(shù)更少
 * 并且允許用一個(gè)final類(lèi)型的變量來(lái)接收返回值。 
 */

// 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ù),只有在指定的鍵和值都匹配的情況下才會(huì)替換。

javadoc注釋說(shuō)明了該默認(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)方法做對(duì)比。JDK8
 * 中新增的Map.replace(K, V, V)方法相比于傳統(tǒng)的實(shí)現(xiàn)方法,所用的代碼行數(shù)更少
 * 并且允許用一個(gè)final類(lèi)型的變量來(lái)接收返回值。 
 */

// 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");

以上就是小編為大家?guī)?lái)的淺談java8中map的新方法--replace全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 淺談js文件引用方式及其同步執(zhí)行與異步執(zhí)行

    淺談js文件引用方式及其同步執(zhí)行與異步執(zhí)行

    下面小編就為大家?guī)?lái)一篇淺談js文件引用方式及其同步執(zhí)行與異步執(zhí)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • javaweb登錄驗(yàn)證碼的實(shí)現(xiàn)方法

    javaweb登錄驗(yàn)證碼的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了javaweb登錄驗(yàn)證碼的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java獲取兩個(gè)字符串中最大相同子串的方法

    Java獲取兩個(gè)字符串中最大相同子串的方法

    今天小編就為大家分享一篇Java獲取兩個(gè)字符串中最大相同子串的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 淺談為什么重寫(xiě)equals()就要重寫(xiě)hashCode()

    淺談為什么重寫(xiě)equals()就要重寫(xiě)hashCode()

    困擾我很久的問(wèn)題,一直不明白為什么重寫(xiě)equals()方法的時(shí)候要重寫(xiě)hashCode()方法,這次總算弄明白了,作此分享,感興趣的可以了解一下
    2021-10-10
  • IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    這篇文章主要介紹了IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新),小編測(cè)試這種激活工具也適用idea2022以下所有版本,本篇教程整理的比較詳細(xì),匯總了idea各個(gè)版本的激活工具,激活方法多種多樣,大家選擇一種即可,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • SpringBoot 使用 OpenAPI3 規(guī)范整合 knife4j的詳細(xì)過(guò)程

    SpringBoot 使用 OpenAPI3 規(guī)范整合 knife4j的詳細(xì)過(guò)程

    Swagger工具集使用OpenAPI規(guī)范,可以生成、展示和測(cè)試基于OpenAPI規(guī)范的API文檔,并提供了生成客戶(hù)端代碼的功能,本文給大家介紹SpringBoot使用OpenAPI3規(guī)范整合knife4j的詳細(xì)過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • Java?在?Array?和?Set?之間進(jìn)行轉(zhuǎn)換的示例

    Java?在?Array?和?Set?之間進(jìn)行轉(zhuǎn)換的示例

    這篇文章主要介紹了Java如何在Array和Set之間進(jìn)行轉(zhuǎn)換,在本文章中,我們對(duì)如何在?Java?中對(duì)Array和Set進(jìn)行轉(zhuǎn)換進(jìn)行一些說(shuō)明和示例,需要的朋友可以參考下
    2023-05-05
  • SpringBoot如何通過(guò)devtools實(shí)現(xiàn)熱部署

    SpringBoot如何通過(guò)devtools實(shí)現(xiàn)熱部署

    這篇文章主要介紹了SpringBoot如何通過(guò)devtools實(shí)現(xiàn)熱部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 使用注解解決ShardingJdbc不支持復(fù)雜SQL方法

    使用注解解決ShardingJdbc不支持復(fù)雜SQL方法

    這篇文章主要為大家介紹了使用注解解決ShardingJdbc不支持復(fù)雜SQL方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java探索之Thread+IO文件的加密解密代碼實(shí)例

    Java探索之Thread+IO文件的加密解密代碼實(shí)例

    這篇文章主要介紹了Java探索之Thread+IO文件的加密解密代碼實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10

最新評(píng)論

休宁县| 蒙阴县| 光泽县| 健康| 吴川市| 普定县| 手游| 宜昌市| 精河县| 涪陵区| 通化县| 安化县| 平江县| 威海市| 宁晋县| 泰顺县| 长子县| 绵阳市| 石嘴山市| 库伦旗| 扶沟县| 石家庄市| 金沙县| 彰化市| 安义县| 虞城县| 凤翔县| 东丽区| 安庆市| 西宁市| 辽宁省| 竹溪县| 松阳县| 家居| 浪卡子县| 顺义区| 海阳市| 栾城县| 姚安县| 万源市| 克什克腾旗|