<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 中一個極其強悍的新特性,很多人沒用過(非常實用)

          共 1308字,需瀏覽 3分鐘

           ·

          2021-02-19 09:26

          不點藍字,我們哪來故事?

          每天 11 點更新文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領!》

          • 一、Stream是什么
          • 二、Stream語法講解
            • 1、前提準備
            • 2、創(chuàng)建一個Stream
            • 3、使用Stream操作數(shù)據(jù)
            • 4、終止Stream

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

          一、Stream是什么

          從名字來看,Stream就是一個流,他的主要作用就是對集合數(shù)據(jù)進行查找過濾等操作。有點類似于SQL的數(shù)據(jù)庫操作。一句話來解釋就是一種高效且易用的數(shù)據(jù)處理方式。大數(shù)據(jù)領域也有一個Steam實時流計算框架,不過和這個可不一樣。別搞混了。

          舉個例子吧,比如說有一個集合Student數(shù)據(jù),我們要刪選出學生名字為“張三”的學生,或者是找出所有年齡大于18歲的所有學生。此時我們就可以直接使用Stream來篩選。當然了這只是給出了其中一個例子。Stream還有很多其他的功能。

          Stream和Collection的區(qū)別就是:Collection只是負責存儲數(shù)據(jù),不對數(shù)據(jù)做其他處理,主要是和內(nèi)存打交道。但是Stream主要是負責計算數(shù)據(jù)的,主要是和CPU打交道。現(xiàn)在明白了吧。

          二、Stream語法講解

          Stream執(zhí)行流程很簡單,主要有三個,首先創(chuàng)建一個Stream,然后使用Stream操作數(shù)據(jù),最后終止Stream。有點類似于Stream的生命周期。下面我們根據(jù)其流程來一個一個講解。

          1、前提準備

          首先我們創(chuàng)建一個Student類,以后我們每次都是操作這個類

          然后下面我們再創(chuàng)建一個StudentData類,用于獲取其數(shù)據(jù)

          我們只需要把方法變成static類型的就可以了。

          2、創(chuàng)建一個Stream

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

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

          方式三:通過Stream.of

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

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

          操作1:篩選和切片

          操作2:映射

          操作3:排序

          4、終止Stream

          操作1:匹配和查找

          操作2:歸約

          操作3:收集

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

          往期推薦

          “華為天才少年”自制百大Up獎杯,網(wǎng)友:技術難度不高侮辱性極強

          Spring中涉及的設計模式總結

          程序員專屬壁紙,騷氣十足!

          ArrayList的多線程場景,如何避坑?

          下方二維碼關注我

          技術草根堅持分享?編程,算法,架構

          看完文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領!》

          朋友,助攻一把!點個在看
          瀏覽 29
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  一起操网站 | 亚洲黄色在线免费观看 | 在线超碰91 | 天天搞天天插 | 一级A级片电影国产国产国产国产国产 |