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

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

 更新時(shí)間:2021年07月28日 09:40:30   作者:努力的小海龜  
這篇文章主要介紹了Java中forEach使用lambda表達(dá)式,數(shù)組和集合的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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

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

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

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

(1)轉(zhuǎn)成list

(2)轉(zhuǎn)成steam

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

ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
arrayList.forEach(System.out::println);

(2)map在forEach中使用lambda

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表達(dá)式

1. forEach and Map

1.1 通常這樣遍歷一個(gè)Map

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 + 拉姆達(dá)表達(dá)式遍歷

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通常這樣遍歷一個(gè)List.

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 + 拉姆達(dá)表達(dá)式 或者 method reference(方法引用)

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringBoot獲得Maven-pom中版本號(hào)和編譯時(shí)間戳

    詳解SpringBoot獲得Maven-pom中版本號(hào)和編譯時(shí)間戳

    這篇文章主要介紹了詳解SpringBoot獲得Maven-pom中版本號(hào)和編譯時(shí)間戳,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 深入理解java虛擬機(jī)的故障處理工具

    深入理解java虛擬機(jī)的故障處理工具

    大家都知道在給系統(tǒng)定位問題的時(shí)候,知識(shí)、經(jīng)驗(yàn)是關(guān)鍵基礎(chǔ),數(shù)據(jù)是依據(jù),工具是運(yùn)用知識(shí)處理數(shù)據(jù)的手段。Java開發(fā)人員可以在jdk安裝的bin目錄下找到除了java,javac以外的其他命令。這些命令主要是一些用于監(jiān)視虛擬機(jī)和故障處理的工具,下面來看看詳細(xì)的介紹。
    2016-11-11
  • 使用Lucene實(shí)現(xiàn)一個(gè)簡(jiǎn)單的布爾搜索功能

    使用Lucene實(shí)現(xiàn)一個(gè)簡(jiǎn)單的布爾搜索功能

    Lucene是一個(gè)全文搜索框架,而不是應(yīng)用產(chǎn)品。因此它并不像www.baidu.com 或者google Desktop那么拿來就能用,它只是提供了一種工具讓你能實(shí)現(xiàn)這些產(chǎn)品。接下來通過本文給大家介紹使用Lucene實(shí)現(xiàn)一個(gè)簡(jiǎn)單的布爾搜索功能
    2017-04-04
  • Gson解析空字符串發(fā)生異常的處理方法

    Gson解析空字符串發(fā)生異常的處理方法

    最近在一個(gè)項(xiàng)目中遇到一個(gè)問題,當(dāng)面對(duì)一些不規(guī)范的json,我們的gson解析經(jīng)常會(huì)拋出各種異常導(dǎo)致app崩潰,通過在網(wǎng)上查找資料,找到了原因,這篇文章給大家介紹了一些可以采取的措施來避免這種情況,有需要的朋友們可以一起來學(xué)習(xí)學(xué)習(xí)。
    2016-11-11
  • 通過ibatis解決sql注入問題

    通過ibatis解決sql注入問題

    這篇文章主要介紹了通過ibatis解決sql注入問題,需要的朋友可以參考下
    2017-09-09
  • Java修改maven的默認(rèn)jdk版本為1.7的方法

    Java修改maven的默認(rèn)jdk版本為1.7的方法

    這篇文章主要介紹了Java修改maven的默認(rèn)jdk版本為1.7的方法,需要的朋友可以參考下
    2018-02-02
  • kettle中使用js調(diào)用java類的方法

    kettle中使用js調(diào)用java類的方法

    這篇文章主要介紹了kettle中使用js調(diào)用java類的方法,本文講解了注意事項(xiàng)和調(diào)用語法,需要的朋友可以參考下
    2015-05-05
  • Java 如何實(shí)現(xiàn)時(shí)間控制

    Java 如何實(shí)現(xiàn)時(shí)間控制

    這篇文章主要向大家介紹得是Java 如何實(shí)現(xiàn)時(shí)間控制,文章珠岙舉例說明該內(nèi)容,感興趣得小伙伴可以跟小編一起學(xué)習(xí)下面文章內(nèi)容
    2021-10-10
  • Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件

    Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件

    這篇文章主要介紹了Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件,Java 發(fā)生死鎖的根本原因是,在申請(qǐng)鎖時(shí)發(fā)生了交叉閉環(huán)申請(qǐng),synchronized在開發(fā)中最好不要嵌套使用,容易導(dǎo)致死鎖,需要的朋友可以參考下
    2024-01-01
  • Springboot中@Async異步,實(shí)現(xiàn)異步結(jié)果合并統(tǒng)一返回方式

    Springboot中@Async異步,實(shí)現(xiàn)異步結(jié)果合并統(tǒng)一返回方式

    這篇文章主要介紹了Springboot中@Async異步,實(shí)現(xiàn)異步結(jié)果合并統(tǒng)一返回方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

略阳县| 寻乌县| 静海县| 合江县| 丰原市| 武邑县| 轮台县| 安宁市| 长宁县| 象州县| 宁乡县| 岱山县| 旅游| 民和| 安仁县| 衢州市| 康马县| 六枝特区| 沙洋县| 朝阳市| 临夏市| 永福县| 乌拉特后旗| 九台市| 株洲市| 深水埗区| 射洪县| 杨浦区| 乐业县| 克拉玛依市| 衡东县| 西安市| 林西县| 龙岩市| 大足县| 轮台县| 化隆| 北宁市| 仙桃市| 扶风县| 娱乐|