轉換 Iterator 爲 Java 8 的 Stream

Java 中有關抽象的可遍歷的對象有 Iterator, Iterable 和 Java 8 的 Stream, Iterable 可簡單的用如下代碼轉換爲 Stream

StreamSupport.stream(iterable.spliterator(), false)

再回過頭來,爲什麼要把 Iterator 或 Iterable 轉換爲 Stream, 因爲 Iterator 和 Iterable 只提供有限的遍歷操作,如 Iterator 接口的全部四個方法

hasNext()
next()
forEachRemaining(consumer)
remove()

同樣 Iterable 也只有 iterator()forEach(consumer), 和 spliterator() 方法。而 Java 8 的 Stream 就大不一樣的,帶有大量的鏈式操作方法,如 filter, map, flatMap, collect 等。

因此如果我們已有一個 Iterator 類型,能夠被轉換爲 Stream 類型的話將會大大簡化後續的轉換,處理操作。具體的從 Iterator 到 Stream 的轉換方式有兩種 閱讀全文 >>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章