<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java8中一個(gè)極其強(qiáng)悍的新特性,很多人沒用過(非常實(shí)用)

          共 1204字,需瀏覽 3分鐘

           ·

          2022-02-12 20:08

          相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享

          原文:http://suo.im/6p27hA

          Java8中有兩個(gè)非常有名的改進(jìn),一個(gè)是Lambda表達(dá)式,一個(gè)是Stream。如果我們了解過函數(shù)式編程的話,都知道Stream真正把函數(shù)式編程的風(fēng)格引入到了java中。這篇文章由簡(jiǎn)入繁逐步介紹Stream。

          一、Stream是什么

          從名字來(lái)看,Stream就是一個(gè)流,他的主要作用就是對(duì)集合數(shù)據(jù)進(jìn)行查找過濾等操作。有點(diǎn)類似于SQL的數(shù)據(jù)庫(kù)操作。一句話來(lái)解釋就是一種高效且易用的數(shù)據(jù)處理方式。大數(shù)據(jù)領(lǐng)域也有一個(gè)Steam實(shí)時(shí)流計(jì)算框架,不過和這個(gè)可不一樣。別搞混了。
          舉個(gè)例子吧,比如說有一個(gè)集合Student數(shù)據(jù),我們要?jiǎng)h選出學(xué)生名字為“張三”的學(xué)生,或者是找出所有年齡大于18歲的所有學(xué)生。此時(shí)我們就可以直接使用Stream來(lái)篩選。當(dāng)然了這只是給出了其中一個(gè)例子。Stream還有很多其他的功能。
          Stream和Collection的區(qū)別就是:Collection只是負(fù)責(zé)存儲(chǔ)數(shù)據(jù),不對(duì)數(shù)據(jù)做其他處理,主要是和內(nèi)存打交道。但是Stream主要是負(fù)責(zé)計(jì)算數(shù)據(jù)的,主要是和CPU打交道。現(xiàn)在明白了吧。

          二、Stream語(yǔ)法講解

          Stream執(zhí)行流程很簡(jiǎn)單,主要有三個(gè),首先創(chuàng)建一個(gè)Stream,然后使用Stream操作數(shù)據(jù),最后終止Stream。有點(diǎn)類似于Stream的生命周期。下面我們根據(jù)其流程來(lái)一個(gè)一個(gè)講解。
          1、前提準(zhǔn)備
          首先我們創(chuàng)建一個(gè)Student類,以后我們每次都是操作這個(gè)類

          然后下面我們?cè)賱?chuàng)建一個(gè)StudentData類,用于獲取其數(shù)據(jù)

          我們只需要把方法變成static類型的就可以了。
          2、創(chuàng)建一個(gè)Stream

          方式一:通過一個(gè)集合創(chuàng)建Stream

          方式二:通過一個(gè)數(shù)組創(chuàng)建Stream

          方式三:通過Stream.of

          方式四:創(chuàng)建一個(gè)無(wú)限流

          3、使用Stream操作數(shù)據(jù)

          操作1:篩選和切片

          操作2:映射

          操作3:排序

          4、終止Stream

          操作1:匹配和查找

          操作2:歸約

          操作3:收集

          stream基本的語(yǔ)法就是這樣,你會(huì)發(fā)現(xiàn)Stream就像是一個(gè)工具一樣,可以幫我們分析處理數(shù)據(jù),極其的好用,但是目前還不知道其效率如何。根據(jù)網(wǎng)上一位大佬的內(nèi)存時(shí)間分析,其實(shí)在數(shù)據(jù)量比較龐大的時(shí)候,Stream可以為我們節(jié)省大量的時(shí)間,數(shù)據(jù)量小的時(shí)候并不明顯。



          1、985副教授工資曝光

          2、心態(tài)崩了!稅前2萬(wàn)4,到手1萬(wàn)4,年終獎(jiǎng)扣稅方式1月1日起施行~

          3、雷軍做程序員時(shí)寫的博客,很強(qiáng)大!

          4、人臉識(shí)別的時(shí)候,一定要穿上衣服啊!

          5、清華大學(xué):2021 元宇宙研究報(bào)告!

          6、績(jī)效被打3.25B,員工將支付寶告上了法院,判了

          瀏覽 49
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  小嫩苞一区二区三区 | A片操逼 爱草在线 | 日韩熟妇 | 日韩黄色视频在线观看 | 欧美内射黄网站 |