Java8中Stream的一些神操作
Java8對(duì)集合提供了一種流式計(jì)算的方式,這種風(fēng)格將要處理的元素集合看 作一種流, 流在管道中傳輸, 并且可以在管道的節(jié)點(diǎn)上進(jìn)行處理, 比如 篩選, 排序,聚合等。
Stream API 基本都是返回Stream本身,這樣多個(gè)操作可以串聯(lián)成一個(gè)管 道, 如同流式風(fēng)格(fluent style)。 這樣做可以對(duì)操作進(jìn)行優(yōu)化, 比 如延遲執(zhí)行(laziness)和短路( short-circuiting)



stream() 為集合創(chuàng)建串行流
parallelStream() 為集合創(chuàng)建并行流
private void createStream(){
Stream<Integer> stream = getList().stream();
Stream<Integer> parallelStream = getList().parallelStream();
}
stream提供了一個(gè)內(nèi)部遍歷的方式forEach(),通過forEach可以大大簡化集 合遍歷的代碼。
private void forEach(){
getList().forEach(i->System.out.println(i));
}
stream提供了一個(gè)用于數(shù)據(jù)過濾的方法filter(),與stream的其他API配合 使用可以簡單的實(shí)現(xiàn)數(shù)據(jù)過濾。
stream提供了一個(gè)用于數(shù)據(jù)映射的方法map(),與stream的其他API配合使用 可以簡單的實(shí)現(xiàn)數(shù)據(jù)映射。
stream提供了一個(gè)用于數(shù)據(jù)映射的方法sorted(),與stream的其他API配合 使用可以簡單的實(shí)現(xiàn)數(shù)據(jù)排序。
Collectors 類實(shí)現(xiàn)了很多歸約操作,例如將流轉(zhuǎn)換成集合和聚合元素。 Collectors 可用于返回列表或字符串。
一些產(chǎn)生統(tǒng)計(jì)結(jié)果的收集器也非常有用。它們主要用于int、double、long 等基本類型上,它們可以用來產(chǎn)生類似如下的統(tǒng)計(jì)結(jié)果。
總結(jié)
到此這篇關(guān)于Java8中Stream的文章就介紹到這了,更多相關(guān)Java8 Stream神操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot @RequestBody 接收字符串實(shí)例
這篇文章主要介紹了springboot @RequestBody 接收字符串實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
JDK動(dòng)態(tài)代理的深入理解與實(shí)際應(yīng)用
這篇文章主要介紹了JDK動(dòng)態(tài)代理的深入理解與實(shí)際應(yīng)用,在Java的世界里,JDK的動(dòng)態(tài)代理是一項(xiàng)非常強(qiáng)大且實(shí)用的技術(shù),它為我們?cè)谶\(yùn)行時(shí)動(dòng)態(tài)地創(chuàng)建代理類提供了可能,從而實(shí)現(xiàn)對(duì)目標(biāo)對(duì)象方法調(diào)用的靈活攔截和增強(qiáng),需要的朋友可以參考下2025-02-02
java循環(huán)練習(xí)的簡單代碼實(shí)例
本篇文章介紹了,java中循環(huán)練習(xí)的一些簡單代碼實(shí)例。需要的朋友參考下2013-04-04
spring mvc 和ajax異步交互完整實(shí)例代碼
本篇文章主要介紹了spring mvc 和ajax異步交互完整實(shí)例代碼,簡單的AJAX+SpringMVC的異步交互小例子,有興趣的可以了解一下。2017-02-02
Springboot如何讀取resources下的json配置文件
這篇文章主要介紹了Springboot如何讀取resources下的json配置文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
MybatisPlus中QueryWrapper常用方法總結(jié)
MyBatis-Plus是一個(gè)Mybatis增強(qiáng)版工具,在MyBatis上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,queryWrapper是mybatis plus中實(shí)現(xiàn)查詢的對(duì)象封裝操作類,本文就給大家總結(jié)了MybatisPlus中QueryWrapper的常用方法,需要的朋友可以參考下2023-07-07
java如何根據(jù)模板導(dǎo)出數(shù)據(jù)到word文檔中(表格、自定義標(biāo)簽等)
這篇文章主要介紹了關(guān)于java如何根據(jù)模板導(dǎo)出數(shù)據(jù)到word文檔中(表格、自定義標(biāo)簽等)的相關(guān)資料,主要包括創(chuàng)建docx文檔,配置模板信息,以及利用XDocReport+FreeMarker技術(shù)進(jìn)行實(shí)現(xiàn),詳細(xì)介紹了在Word模板中如何設(shè)置字段以及如何通過代碼填充這些字段,需要的朋友可以參考下2024-11-11
Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解
這篇文章主要介紹了Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解,消息回調(diào),其實(shí)就是消息確認(rèn)(生產(chǎn)者推送消息成功,消費(fèi)者接收消息成功) , 對(duì)于程序來說,發(fā)送者沒法確認(rèn)是否發(fā)送成功,需要的朋友可以參考下2023-07-07

