如何使用Java8Stream和peek-創(chuàng)新互聯(lián)

這篇文章主要講解了如何使用Java 8 Stream和peek,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

創(chuàng)新互聯(lián)建站公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元阿城做網(wǎng)站,已為上家服務,為阿城各地企業(yè)和個人服務,聯(lián)系電話:18982081108

簡介

java 8 stream作為流式操作有兩種操作類型,中間操作和終止操作。這兩種有什么區(qū)別呢?

我們看一個peek的例子:

Stream<String> stream = Stream.of("one", "two", "three","four");
stream.peek(System.out::println);

上面的例子中,我們的本意是打印出Stream的值,但實際上沒有任何輸出。

為什么呢?

中間操作和終止操作

一個java 8的stream是由三部分組成的。數(shù)據(jù)源,零個或一個或多個中間操作,一個或零個終止操作。

中間操作是對數(shù)據(jù)的加工,注意,中間操作是lazy操作,并不會立馬啟動,需要等待終止操作才會執(zhí)行。

終止操作是stream的啟動操作,只有加上終止操作,stream才會真正的開始執(zhí)行。

所以,問題解決了,peek是一個中間操作,所以上面的例子沒有任何輸出。

peek

我們看下peek的文檔說明:peek主要被用在debug用途。

我們看下debug用途的使用:

Stream.of("one", "two", "three","four").filter(e -> e.length() > 3)
        .peek(e -> System.out.println("Filtered value: " + e))
        .map(String::toUpperCase)
        .peek(e -> System.out.println("Mapped value: " + e))
        .collect(Collectors.toList());

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:如何使用Java8Stream和peek-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://muchs.cn/article14/hspde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、網(wǎng)站導航、Google網(wǎng)站制作、ChatGPT網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)