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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

stream流对象的理解及使用

發布時間:2023/11/28 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stream流对象的理解及使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的理解:用stream流式處理數據,將數據用一個一個方法去 . (點,即調用) 得到新的數據結果,可以一步達成。

有多種方式生成 Stream Source:

  • 從 Collection 和數組

    • Collection.stream()
    • Collection.parallelStream()
    • Arrays.stream(T array) or Stream.of()

    從 BufferedReader

    • java.io.BufferedReader.lines()
  • 靜態工廠

  • java.util.stream.IntStream.range()

  • java.nio.file.Files.walk()

  • 自己構建

    • java.util.Spliterator

    其它

    • Random.ints()
    • BitSet.stream()
    • Pattern.splitAsStream(java.lang.CharSequence)
    • JarFile.stream()

用法(以下講解常用的幾個):::

? filter

filter 對原始 Stream 進行某項測試,通過測試的元素被留下來生成一個新 Stream。

? forEach

forEach 方法接收一個 Lambda 表達式,然后在 Stream 的每一個元素上執行該表達式。

? findFirst

這是一個 termimal 兼 short-circuiting 操作,它總是返回 Stream 的第一個元素,或者空。

這里比較重點的是它的返回值類型:Optional。這也是一個模仿 Scala 語言中的概念,作為一個容器,它可能含有某值,或者不包含。使用它的目的是盡可能避免 NullPointerException。

總結

以上是生活随笔為你收集整理的stream流对象的理解及使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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