一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

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

Java中forEach使用lambda表達式,數(shù)組和集合的區(qū)別說明

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

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

1.數(shù)組怎么使用lambda

數(shù)組不能直接在forEach中使用lambda表達式

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

想要使用必須轉(zhuǎn)換,如下

(1)轉(zhuǎn)成list

(2)轉(zhuǎn)成steam

?
1
2
3
PartnerType[] values = PartnerType.values();
Arrays.stream(values).forEach(System.out::println);//轉(zhuǎn)成流
Arrays.asList(values).forEach(System.out::println);//轉(zhuǎn)成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);

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

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

延伸 · 閱讀

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

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

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

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

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

    Java教程網(wǎng)2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

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

    大行者10067412021-08-30
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

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

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

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

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

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

    小米推送Java代碼

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

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

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

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

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

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

    阿杜7472021-02-04
主站蜘蛛池模板: 午夜精品免费 | 亚洲黄色大片 | 亚洲一卡2卡三卡4卡5卡组 | 荷兰艾优apiyoo| 完整秽淫刺激长篇小说 | 亚洲狠狠婷婷综合久久蜜桃 | 精品久久久久中文字幕日本 | 美女福利视频午夜在线 | 韩国一级淫片特黄特刺激 | 日本黄视频在线播放 | 精品一区heyzo在线播放 | 国产成人一区二区三区视频免费蜜 | 扒开腚眼子视频大全 | 欧美日本一区视频免费 | 亚洲国产日韩欧美在线vip1区 | ass天天裸妇pics | 日韩成本大片35分钟免费播放 | 成人性生交大片免费看软件 | 寡妇快点好大好爽视频 | 久久精麻豆亚洲AV国产品 | 天天白天天谢天天啦 | 久久综合给合久久狠狠狠… | 4455四色永久免费 | 国产原创一区二区 | 成人一级黄色大片 | 摸咪网在线影院在线观看 | 亚洲精品AV无码永久无码 | 国产主播99 | 4tube欧美高清 | 精品一区二区三区免费毛片 | 天天干天天操天天碰 | 放荡女小洁的性日记 | 热99精品只有里视频最新 | 国产成人福利色视频 | 成人精品亚洲人成在线 | 免费一级欧美片片线观看 | 国产v日韩v欧美v精品专区 | 亚洲国产精品久久网午夜 | 暖暖视频免费观看视频中国.韩剧 | 欧美在线欧美 | 99精品国产成人一区二区 |