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

java8中Map的一些騷操作總結(jié)

 更新時(shí)間:2021年02月03日 15:12:59   作者:知識(shí)追尋者  
這篇文章主要給大家介紹了關(guān)于java8中Map的一些騷操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一 前言

本篇內(nèi)容是關(guān)于 map 新特性的一些方法使用上的介紹,如果有不足之處歡迎補(bǔ)充!!

二 map新特性

關(guān)于以下函數(shù)式編程的函數(shù)的計(jì)算知識(shí)追尋者都使用 簡(jiǎn)單字符串代替了,參數(shù)無(wú)非就是Key,value;

2.1 forEach

forEach迭代,相當(dāng)于for循環(huán)

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  hashMap.put("key1","小熊貓");
  hashMap.put("key2","大熊貓");
  // 遍歷
  hashMap.forEach((key,value) -> {
   System.out.println("key:"+key + " value: "+value);
  });

 }

輸出

key:key1 value: 小熊貓
key:key2 value: 大熊貓

2.2 computeIfAbsentjava

如果key的值不存在就使用函數(shù)結(jié)果代替;

值存在示例,任然是使用舊值;

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  hashMap.put("key","無(wú)墨生香");
  // 如果key的值不存在就使用 函數(shù)值代替
  hashMap.computeIfAbsent("key",s-> { return "處處香";});
  // {key=無(wú)墨生香}
  System.out.println(hashMap);
 }

值不存在示例,會(huì)使用函數(shù)值代替為新值;

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  // 如果key的值不存在就使用 函數(shù)值代替
  hashMap.computeIfAbsent("key",s-> { return "處處香";});
  // {key=處處香}
  System.out.println(hashMap);
 }

2.3 computeIfPresent

如果key的值存在就使用函數(shù)值代替,如果 函數(shù)值為null , 會(huì)移除key;

值存在示例,會(huì)使用函數(shù)值代替舊值

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    hashMap.put("key","無(wú)墨生香");
    // 如果key的值存在就使用函數(shù)值代替
    hashMap.computeIfPresent("key",(key,value)-> { return "處處香";});
    // {key4=處處香}
    System.out.println(hashMap);
  }

值不存在示例,為空

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    // 如果key的值存在就使用函數(shù)值代替
    hashMap.computeIfPresent("key",(key,value)-> { return "處處香";});
    // {}
    System.out.println(hashMap);
  }

如果 函數(shù)值為null , 會(huì)移除key;

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    hashMap.put("key","無(wú)墨生香");
    // 如果key的值存在就使用函數(shù)值代替
    hashMap.computeIfPresent("key",(key,value)-> { return null;});
    // {}
    System.out.println(hashMap);
  }

2.4 putIfAbsent

當(dāng)key的值存在時(shí)不替換值;當(dāng)key的值不存在時(shí)替換key的值;

當(dāng)key存在示例,還是舊值;

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","無(wú)墨生香");
     hashMap.putIfAbsent("key","處處香");
     //{key=無(wú)墨生香}
     System.out.println(hashMap);
   }

當(dāng)key不存在其實(shí)就是put操作;

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.putIfAbsent("key","處處香");
     //{key=處處香}
     System.out.println(hashMap);
   }

2.5 getOrDefault

當(dāng)key的值存在時(shí)獲取值,否則獲取指定的默認(rèn)值;

key值存在示例

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","無(wú)墨生香");
     //無(wú)墨生香
     System.out.println(hashMap.getOrDefault("key","處處香"));
   }

key值不存在示例

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     //處處香
     System.out.println(hashMap.getOrDefault("key","處處香"));
   }

2.6 merge

如果key的值不存在會(huì)用新的值代替,如果key的值存在會(huì)用函數(shù)值代替舊值,當(dāng)函數(shù)值為空會(huì)移除key;

如果key的值不存在會(huì)用新的值(第二參數(shù))代替

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.merge("key","處處香",(key,value) -> { return "點(diǎn)擊在看";});
     //{key=處處香}
     System.out.println(hashMap);
   }

如果key的值存在會(huì)用函數(shù)值代替舊值;新的值(第二參數(shù))不起作用

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","無(wú)墨生香");
     hashMap.merge("key","處處香",(key,value) -> { return "點(diǎn)擊在看";});
     //{key=點(diǎn)擊在看}
     System.out.println(hashMap);
   }

當(dāng)函數(shù)值為空會(huì)移除key;

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","無(wú)墨生香");
     hashMap.merge("key","處處香",(key,value) -> { return null;});
     //{}
     System.out.println(hashMap);
   }

總結(jié)

到此這篇關(guān)于java8中Map的一些騷操作的文章就介紹到這了,更多相關(guān)java8中Map操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計(jì)模式之java中介者模式詳解

    Java設(shè)計(jì)模式之java中介者模式詳解

    這篇文章主要為大家詳細(xì)介紹了23種設(shè)計(jì)模式之java中介者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • SpringBoot集成MongoDB的實(shí)現(xiàn)

    SpringBoot集成MongoDB的實(shí)現(xiàn)

    本文主要介紹了SpringBoot集成MongoDB的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 盤(pán)點(diǎn)總結(jié)SpringBoot自帶工具類使用提升開(kāi)發(fā)效率

    盤(pán)點(diǎn)總結(jié)SpringBoot自帶工具類使用提升開(kāi)發(fā)效率

    這篇文章主要為大家介紹了盤(pán)點(diǎn)總結(jié)SpringBoot自帶工具類使用提升開(kāi)發(fā)效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 使用Netty實(shí)現(xiàn)類似Dubbo的遠(yuǎn)程接口調(diào)用的實(shí)現(xiàn)方法

    使用Netty實(shí)現(xiàn)類似Dubbo的遠(yuǎn)程接口調(diào)用的實(shí)現(xiàn)方法

    本文介紹了如何使用Netty框架實(shí)現(xiàn)類似Dubbo的遠(yuǎn)程接口調(diào)用,通過(guò)自定義編解碼器、通信協(xié)議和服務(wù)注冊(cè)中心等實(shí)現(xiàn)遠(yuǎn)程通信和服務(wù)治理。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-04-04
  • Maven私服倉(cāng)庫(kù)Nexus配置小結(jié)

    Maven私服倉(cāng)庫(kù)Nexus配置小結(jié)

    Maven 私服是一種特殊的Maven遠(yuǎn)程倉(cāng)庫(kù),它是架設(shè)在局域網(wǎng)內(nèi)的倉(cāng)庫(kù)服務(wù),本文就來(lái)介紹一下Maven私服倉(cāng)庫(kù)Nexus配置小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 如何搭建一個(gè)完整的Java開(kāi)發(fā)環(huán)境

    如何搭建一個(gè)完整的Java開(kāi)發(fā)環(huán)境

    這篇文章主要教大家如何搭建一個(gè)完整的Java開(kāi)發(fā)環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • java中線程的sleep()方法和yield()方法的區(qū)別

    java中線程的sleep()方法和yield()方法的區(qū)別

    本文主要介紹了java中線程的sleep()方法和yield()方法的區(qū)別,Thread類的sleep()方法使線程休眠指定時(shí)間,不釋放鎖,而yield()提示調(diào)度器當(dāng)前線程愿意讓出CPU資源,不保證立即切換線程,感興趣的可以了解一下
    2024-10-10
  • java后臺(tái)啟動(dòng)jar包的一些命令匯總

    java后臺(tái)啟動(dòng)jar包的一些命令匯總

    這篇文章主要介紹了java后臺(tái)啟動(dòng)jar包的一些命令匯總,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-03-03
  • 基于微信簽名signature獲取(實(shí)例講解)

    基于微信簽名signature獲取(實(shí)例講解)

    下面就為大家?guī)?lái)一篇基于微信簽名signature獲取(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 學(xué)會(huì)在Java中使用Optional功能

    學(xué)會(huì)在Java中使用Optional功能

    這篇文章主要介紹了學(xué)會(huì)在Java中使用Optional功能,在本文中,我們將了解如何、何時(shí)以及在哪里最好地應(yīng)用Optional,具體相關(guān)內(nèi)容需要的朋友可以參考下面文章內(nèi)容
    2022-09-09

最新評(píng)論

宁南县| 南城县| 彩票| 丰台区| 长丰县| 民权县| 成都市| 定南县| 兴城市| 波密县| 手机| 申扎县| 和政县| 曲麻莱县| 囊谦县| 普宁市| 阜南县| 宽城| 五寨县| 德庆县| 宜春市| 衡阳市| 中阳县| 榆社县| 时尚| 宝山区| 宁晋县| 秦皇岛市| 乾安县| 共和县| 泗水县| 松滋市| 卢氏县| 浙江省| 札达县| 通山县| 崇文区| 佳木斯市| 勃利县| 海淀区| 梓潼县|