激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - java8中Map的一些騷操作總結

java8中Map的一些騷操作總結

2021-08-03 10:41知識追尋者 Java教程

這篇文章主要給大家介紹了關于java8中Map的一些騷操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一 前言

本篇內容是關于 map 新特性的一些方法使用上的介紹,如果有不足之處歡迎補充!!

二 map新特性

關于以下函數式編程的函數的計算知識追尋者都使用 簡單字符串代替了,參數無非就是key,value;

2.1 foreach

foreach迭代,相當于for循環

?
1
2
3
4
5
6
7
8
9
10
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的值不存在就使用函數結果代替;

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

?
1
2
3
4
5
6
7
8
public static void main(string[] args) {
 hashmap<string, object> hashmap = new hashmap<>();
 hashmap.put("key","無墨生香");
 // 如果key的值不存在就使用 函數值代替
 hashmap.computeifabsent("key",s-> { return "處處香";});
 // {key=無墨生香}
 system.out.println(hashmap);
}

值不存在示例,會使用函數值代替為新值;

?
1
2
3
4
5
6
7
public static void main(string[] args) {
 hashmap<string, object> hashmap = new hashmap<>();
 // 如果key的值不存在就使用 函數值代替
 hashmap.computeifabsent("key",s-> { return "處處香";});
 // {key=處處香}
 system.out.println(hashmap);
}

2.3 computeifpresent

如果key的值存在就使用函數值代替,如果 函數值為null , 會移除key;

值存在示例,會使用函數值代替舊值

?
1
2
3
4
5
6
7
8
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  hashmap.put("key","無墨生香");
  // 如果key的值存在就使用函數值代替
  hashmap.computeifpresent("key",(key,value)-> { return "處處香";});
  // {key4=處處香}
  system.out.println(hashmap);
}

值不存在示例,為空

?
1
2
3
4
5
6
7
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  // 如果key的值存在就使用函數值代替
  hashmap.computeifpresent("key",(key,value)-> { return "處處香";});
  // {}
  system.out.println(hashmap);
}

如果 函數值為null , 會移除key;

?
1
2
3
4
5
6
7
8
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  hashmap.put("key","無墨生香");
  // 如果key的值存在就使用函數值代替
  hashmap.computeifpresent("key",(key,value)-> { return null;});
  // {}
  system.out.println(hashmap);
}

2.4 putifabsent

當key的值存在時不替換值;當key的值不存在時替換key的值;

當key存在示例,還是舊值;

?
1
2
3
4
5
6
7
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  hashmap.put("key","無墨生香");
  hashmap.putifabsent("key","處處香");
  //{key=無墨生香}
  system.out.println(hashmap);
}

當key不存在其實就是put操作;

?
1
2
3
4
5
6
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  hashmap.putifabsent("key","處處香");
  //{key=處處香}
  system.out.println(hashmap);
}

2.5 getordefault

當key的值存在時獲取值,否則獲取指定的默認值;

key值存在示例

?
1
2
3
4
5
6
public static void main(string[] args) {
   hashmap<string, object> hashmap = new hashmap<>();
   hashmap.put("key","無墨生香");
   //無墨生香
   system.out.println(hashmap.getordefault("key","處處香"));
 }

key值不存在示例

?
1
2
3
4
5
public static void main(string[] args) {
   hashmap<string, object> hashmap = new hashmap<>();
   //處處香
   system.out.println(hashmap.getordefault("key","處處香"));
 }

2.6 merge

如果key的值不存在會用新的值代替,如果key的值存在會用函數值代替舊值,當函數值為空會移除key;

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

?
1
2
3
4
5
6
public static void main(string[] args) {
  hashmap<string, object> hashmap = new hashmap<>();
  hashmap.merge("key","處處香",(key,value) -> { return "點擊在看";});
  //{key=處處香}
  system.out.println(hashmap);
}

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

?
1
2
3
4
5
6
7
public static void main(string[] args) {
   hashmap<string, object> hashmap = new hashmap<>();
   hashmap.put("key","無墨生香");
   hashmap.merge("key","處處香",(key,value) -> { return "點擊在看";});
   //{key=點擊在看}
   system.out.println(hashmap);
 }

當函數值為空會移除key;

?
1
2
3
4
5
6
7
public static void main(string[] args) {
   hashmap<string, object> hashmap = new hashmap<>();
   hashmap.put("key","無墨生香");
   hashmap.merge("key","處處香",(key,value) -> { return null;});
   //{}
   system.out.println(hashmap);
 }

總結

到此這篇關于java8中map的一些騷操作的文章就介紹到這了,更多相關java8中map操作內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/youku1327/article/details/107877559

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 99视频网址| 日本道中文字幕 | 亚洲少妇诱惑 | 狠狠久久伊人中文字幕 | 成人在线精品视频 | 玖草| 国产日本欧美在线观看 | 在线a免费观看 | 香蕉久草在线 | 又黄又爽免费无遮挡在线观看 | 草草久 | 精品久久久久久久久久久αⅴ | 色播av在线 | 夜班护士在线观看 | 黄色三级三级三级 | 在线观看一二区 | 欧美一级成人 | av免费在线观 | 最新亚洲国产 | 国产精品视频成人 | av电影手机在线看 | 日本在线精品视频 | 欧美a黄| 成人一区二区在线观看视频 | 毛片大全在线观看 | 蜜桃传媒视频麻豆第一区免费观看 | 欧美成人午夜精品久久久 | 美女av在线免费观看 | 爽妇网国产精品 | 九九热免费在线观看 | 亚洲第一页中文字幕 | 欧美成人午夜影院 | 亚洲极色 | 成人久久 | wankzhd| 日本在线视频免费观看 | 国产亚洲精品一区二区三区 | 免费午夜视频在线观看 | 鲁久久| 久久欧美亚洲另类专区91大神 |