Java 8 の反復可能オブジェクトからストリームを取得する
反復可能なデータを扱う場合、プログラマは Java 8 ストリームを利用する必要があるという課題に遭遇することがよくあります。 API。ただし、イテラブルは本質的に「ストリーム」メソッドを提供しません。
問題:
変換のオーバーヘッドを回避しながら、イテラブルとストリームの間のギャップを埋めるにはどうすればよいでしょうか。に反復可能list?
解決策:
Java 8 は、この問題に対する便利な解決策を提供します。 Iterable には Spliterator() メソッドがあり、これにより Spliterator を抽出できます。このスプリッテレータを StreamSupport.stream メソッドに渡してストリームを作成できます。
StreamSupport.stream(iterable.spliterator(), false) .filter(...) .moreStreamOps(...);
このアプローチには、spliteratorUnknownSize:
この技術を利用すると、既存の Iterable データをストリームに変換し、Java 8 Stream API のパワーを洗練されたデータに利用することが容易になります。データ操作。
以上が中間リストを作成せずに Java Iterable を効率的にストリームに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。