日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java8新特性:Stream介绍和总结

發布時間:2025/3/12 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java8新特性:Stream介绍和总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java8新特性:Stream介紹和總結

什么是Stream

流(Stream)是數據渠道,用于操作數據源(集合、數組等)所生成的元素序列。
集合講的是數據,流講的是計算
注意:

  • Stream自己不會存儲元素
  • Stream不會改變源對象。相反,他會返回一個持有結果的新Stream
  • Stream操作是延遲執行的。意味著他會等到需要結果的時候才執行
  • Stream操作的三個步驟

    • 創建Stream
      一個數據源(如:集合、數組),獲取一個流
    • 中間操作
      一個中間操作鏈,對數據源的數據進行處理
    • 終止操作(終端操作)
      一個終止操作,執行中間操作鏈。并產生結果

    示意圖如下:

    創建Stream

    default Stream stream():返回一個順序流
    default Stream parallelStream():返回一個并行流

    有數組創建流

    static Stream stream(T[] array):返回一個流

    由值創建流

    public static Stream of(T… values):返回一個流

    由函數創建流:創建無限流

    • 迭代

    public static Stream iterate(final T seed,final UnaryOperator f)

    • 生成

    public static Stream generate(Supplier s)

    Stream的中間操作
    多個中間操作可以連接起來形成一個流水線,除非流水線上觸發終止操作,否則中間操作不會執行任何處理!而在終止操作時一次性全部處理,稱為“惰性求值”



    Stream的終止操作

    終止操作會從流的流水線生成結果。其結果可以是任何不是流的值,例如List、Integer 甚至是void。




    Collector接口中方法的實現決定了如何對流執行收集操作(如收集到List、Set、Map)。但是Collector實用類提供了很多靜態方法可以方便的收集常見實例

    總結

    以上是生活随笔為你收集整理的Java8新特性:Stream介绍和总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。