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

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

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

服務器之家 - 編程語言 - Java教程 - Java中forEach使用lambda表達式,數組和集合的區別說明

Java中forEach使用lambda表達式,數組和集合的區別說明

2021-10-26 10:32努力的小海龜 Java教程

這篇文章主要介紹了Java中forEach使用lambda表達式,數組和集合的區別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

1.數組怎么使用lambda

數組不能直接在forEach中使用lambda表達式

?
1
2
3
PartnerType[] values = PartnerType.values();
//提示Cannot resolve method 'forEach(<method reference>)
values.forEach(System.out::println);//錯誤使用

想要使用必須轉換,如下

(1)轉成list

(2)轉成steam

?
1
2
3
PartnerType[] values = PartnerType.values();
Arrays.stream(values).forEach(System.out::println);//轉成流
Arrays.asList(values).forEach(System.out::println);//轉成list

2.集合怎么使用lambda

(1)list在forEach中使用lambda

?
1
2
3
4
5
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
arrayList.forEach(System.out::println);

(2)map在forEach中使用lambda

?
1
2
3
4
5
6
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("a",1);
hashMap.put("b",2);
hashMap.put("c",3);
hashMap.put("d",4);
hashMap.forEach((k,v)->System.out.println(k+"_"+v.intValue()));

Java8 forEach+Lambda表達式

1. forEach and Map

1.1 通常這樣遍歷一個Map

?
1
2
3
4
5
6
7
8
9
10
11
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
 
for (Map.Entry<String, Integer> entry : items.entrySet()) {
    System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}

1.2 在java8中你可以使用 foreach + 拉姆達表達式遍歷

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
 
items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
items.forEach((k,v)->{
    System.out.println("Item : " + k + " Count : " + v);
    if("E".equals(k)){
        System.out.println("Hello E");
    }
});

2. forEach and List

2.1通常這樣遍歷一個List.

?
1
2
3
4
5
6
7
8
9
10
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
 
for(String item : items){
    System.out.println(item);
}

2.2在java8中你可以使用 foreach + 拉姆達表達式 或者 method reference(方法引用)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
 
//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));
 
//Output : C
items.forEach(item->{
    if("C".equals(item)){
        System.out.println(item);
    }
});
 
//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println);
 
//Stream and filter
//Output : B
items.stream()
    .filter(s->s.contains("B"))
    .forEach(System.out::println);

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/u010938610/article/details/82699321

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
主站蜘蛛池模板: 久久久久久久久久久久免费 | 羞羞色在线观看 | 一级做a爱视频 | 狠狠干最新网址 | 久久久久中精品中文字幕19 | 在线天堂中文在线资源网 | 二区三区四区视频 | 可以免费看av| 色综合欧美 | 中文字幕在线观看网址 | 国产精品久久久久久久久久久久久久久久 | 日本成人在线播放 | 色婷婷a | 精品成人av一区二区三区 | 4p嗯啊巨肉寝室调教男男视频 | 亚洲成人综合网站 | 免费1级做55爰片l在线观看 | 成人毛片免费视频 | 72pao成人国产永久免费视频 | 91精品国产777在线观看 | 国产精品久久久久一区二区 | 亚洲一级电影在线观看 | 海角在线观看91一区二区 | 成人毛片100免费观看 | 一边吃奶一边摸下娇喘 | 男人天堂免费 | 精品国产91久久久久久久妲己 | 国产亚洲精品久久久久久网站 | 欧美黑人伦理 | 久久99精品久久 | 爽爽淫人网 | 久久久久久久一区 | 日本68xxxx| 黄色片视频在线观看 | 香蕉国产在线视频 | 7m视频成人精品分类 | 在线观看免费av网 | 麻豆视频在线免费观看 | 看一级毛片 | 91精品国产乱码久久久久久久久 | 国产精品久久久久久久久久10秀 |