問題:
你有一個返回Iterable
解決方案:
要將 Iterable 轉換為 Stream 而不將其轉換為 List,可以使用StreamSupport.stream() 方法。此方法採用 Spliterator 對象,該物件可以從 Iterable 的 spliterator() 方法取得。
以下是如何將Iterable 轉換為Stream 的範例:
Iterable<T> iterable = ...; Stream<T> stream = StreamSupport.stream(iterable.spliterator(), false);
一旦你有了Stream,您可以執行常見的流操作,例如過濾、映射和
注意:
與直接使用spliteratorUnknownSize() 方法相比,StreamSupport.stream() 方法提供了更有效的方法將 Iterable 轉換為 Stream 。 spliteratorUnknownSize() 方法總是會建立一個新的 Spliterator 對象,如果 Iterable 已經是一個集合,則該物件的效率可能會很低。 StreamSupport.stream() 方法使用 Iterable 中現有的 Spliterator 物件(如果可用),從而提高效能。
以上是如何有效率地將Java Iterables轉換為Streams?的詳細內容。更多資訊請關注PHP中文網其他相關文章!