ホームページ >Java >&#&チュートリアル >述語に基づいて無限の Java 8 ストリームを制限するにはどうすればよいですか?
Java 8: 述語一致に基づくストリーム制限の実装
Java 8 には、要素が完成するまで潜在的に無限のストリームを制限する特定のストリーム操作がありません。指定された述語と一致しません。 Java 9 ではこの目的のために takewhile 操作が導入されていますが、Java 8 ユーザーは別の実装戦略を模索しています。
Java 8 での解決策
Java で述語ベースのストリーム制限を実装するには8 では、次のアプローチを使用できます。
例:
IntStream.iterate(1, n -> n + 1) .limit(Long.MAX_VALUE) .filter(n -> n < 10) .forEach(System.out::println);
Java 9 以降
Java 9 以降を使用している場合、takewhile 操作により実装:
IntStream.iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println);
以上が述語に基づいて無限の Java 8 ストリームを制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。