問題:
Java 8 を使用して Iterable を操作するにはどうすればよいですかList に変換せずに API をストリームしますか?
解決策:
tl;dr: StreamSupport.stream(iterable.spliterator(),
詳細な説明:
Iterable は、Spliterator を返す Spliterator() メソッドを提供します。これは、 StreamSupport.stream を使用してストリームします。コード スニペットは次のとおりです。
StreamSupport.stream(iterable.spliterator(), false) .filter(...) .moreStreamOps(...);
このアプローチにより、List への不必要な変換が回避され、パフォーマンスとメモリ消費が向上します。 StreamSupport.stream は 2 つの引数を取ります:
結果のストリームは、フィルター、マップなどの Stream API 操作を使用して操作できます。
利点:
StreamSupport.stream を使用すると、次のことが可能になります。次の利点:
以上がリストを使用せずにイテラブルを Java 8 ストリームに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。