1. 程式人生 > >java9新特性-13-增強的 Stream API

java9新特性-13-增強的 Stream API

空指針異常 分數 單元 空指針 nta apt 好的 for 分享圖片

1.使用說明

Java 的 Steam API 是java標準庫最好的改進之一,讓開發者能夠快速運算,從而能夠有效的利用數據並行計算。Java 8 提供的 Steam 能夠利用多核架構實現聲明式的數據處理。

在 Java 9 中,Stream API 變得更好,Stream 接口中添加了 4 個新的方法:dropWhile,

takeWhile, ofNullable,還有個 iterate 方法的新重載方法,可以讓你提供一個 Predicate (判斷條件)來指定什麽時候結束叠代。(見下例)

除了對 Stream 本身的擴展,Optional 和 Stream 之間的結合也得到了改進。現在可以通過 Optional 的新方法 stream() 將一個 Optional 對象轉換為一個(可能是空的) Stream 對象。(見下例)


2.使用舉例

takeWhile()的使用:

用於從 Stream 中獲取一部分數據,接收一個 Predicate 來進行選擇。在有序的 Stream 中,takeWhile 返回從開頭開始的盡量多的元素。

技術分享圖片

dropWhile()的使用:

dropWhile 的行為與 takeWhile 相反,返回剩余的元素。

技術分享圖片

ofNullable()的使用:

Java 8 中 Stream 不能完全為null,否則會報空指針異常。而 Java 9 中的 ofNullable 方法允許我們創建一個單元素 Stream,可以包含一個非空元素,也可以創建一個空 Stream。

技術分享圖片 技術分享圖片

iterator()重載的使用:

技術分享圖片

Optional類中stream()的使用:

技術分享圖片 技術分享圖片


作者:尚矽谷面試官宋紅康
鏈接:https://www.jianshu.com/p/f1fbe1f0b118
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

java9新特性-13-增強的 Stream API