中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java8流是什么呢

發布時間:2021-10-14 17:00:17 來源:億速云 閱讀:134 作者:柒染 欄目:編程語言

這篇文章給大家介紹Java8流是什么呢,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

  在說流之前,我們先來看看集合,為什么呢?作為Java8中的新成員,它和集合有很多相似之處,同時它們也是可以互相轉化的。集合不僅僅是Java語言,任何一門高級開發語言都有集合的概念,集合顧名思義,就是很多數據集放在一起,它算是一個容器,同時我們也可以使用泛型來限制集合中的數據類型。

流是什么

  流作為是Java8的新成員,它允許我們以聲明性的方式來處理數據集合。我們可以把它看成遍歷數據集的高級迭代器。此外,流還可以透明地并行處理,這就使得我們無需編寫任何多線程代碼。在后續中我們再來詳細說說流和流的并行化。

  從以上一段代碼中,我們可以看出:

  1、代碼是以聲明性方式編寫。即想要完成的工作,而非如何完成。

  2、可以使用操作鏈。filter之后的方法可以直接點,直到完成。

  由上,我們可以先簡單的總結下使用流的好處:

  1、聲明性:更簡潔易讀。

  2、可復用:更加靈活。

  3、可并行:性能更好。

流的介紹

  上面我看了流和集合的簡單比較,那么到底流是什么呢?我們可以簡單說明為“從支持數據處理操作的源生成的元素序列”。我們將這句話分開來解析:

  ①、元素序列:它就如何集合一樣,可以訪問特定元素類型的一組有序值。但它與集合是不同的,集合是一種數據結構,它的主要目的是在一定時間和空間上存儲數據。而流主要用來計算。他們本質上是不同的。

  ②、源:即源頭,流在處理數據時,這個數據的源頭,例如:集合可以是個源,文件也可以是個源。

  ③、數據處理操作:流在處理數據時類似我們操作數據庫,如:filter/map/sort等。流在處理數據時,可順序執行也可并行執行。

  流在操作中具有兩個很明顯的特征:

  1、流水線。即流的操作返回的還是一個流,如此多個操作就可以一直往后鏈接,從而形成一個流水線。

  2、內部迭代。流在處理時,我們是看不到處理過程的,它是在背后執行的。我們可以回看上一節中,民警在篩選/排序/映射到后面的截取/轉換等如何完成的,我們無法看到執行過程。

集合與流比對

  在Java8中集合和流是可以互相轉化的,但從數據上來看,集合是可以不斷的遍歷,而流只可以遍歷一次,一次遍歷結束后,即代表該條流完成,若想再次處理,則需要重新建立一個流對象。若我們對一個已經完成的流再次處理,則會拋出異常。

關于Java8流是什么呢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉禾县| 贡嘎县| 德化县| 荔波县| 高清| 永昌县| 磐石市| 开化县| 衢州市| 聂拉木县| 左贡县| 钟山县| 双鸭山市| 志丹县| 石景山区| 绿春县| 元江| 多伦县| 怀远县| 陇南市| 鄂伦春自治旗| 成都市| 云浮市| 太白县| 中超| 鲜城| 理塘县| 汉源县| 慈利县| 平舆县| 来安县| 香港| 西宁市| 榕江县| 海林市| 舟曲县| 东阳市| 禄丰县| 灵丘县| 遵义县| 屏边|