java 9 中對 Stream API 的加強

技術的更新老是很快,java 9 已經發布了有一段時間啦,增長了不少新的特性,其中 Stream API 也作了加強,添加了一下方法:takeWhile(), dropWhile(), iterate(), and ofNullable()java

takeWhile()api

方法依據 predicate 條件從流中提取元素,一旦predicate失敗,它就中止並返回流,因此下面的條件 7 不是偶數,後續的 8,10 不會輸出。spa

按照 predicate 的條件,是按順序到集合中遍歷元素,因此對於 set 集合,裏面的順序不是必定的,因此每次操做不必定會輸出相同的結果。code

 

Stream.dropWhile()

這個方法和 takeWhile 做用相反的,依據 predicate 條件從流中刪除元素,一旦 predicate 失敗,則中止。文檔

和 takeWhile 同樣,對於無序的集合,輸出的結果不是固定的。it

stream

 

Stream.ofNullable()

若是指定元素爲非null,則獲取一個元素並生成單個元素流,元素爲null則返回一個空流。循環

 

Stream.iterate()

Stream 已經有一個 iterate 產生流,下面的示例將生成數字1,2,3,4無限流.遍歷

能夠使用 limit 限制方法

接下來就是 java 9 中加強的方式,這種和咱們寫for 循環的方式相似。

參考文檔:https://www.callicoder.com/java-9-stream-api-enhancements/

相關文章
相關標籤/搜索