ホームページ >Java >&#&チュートリアル >述語を使用して Java 8 ストリーム内の最初の不一致を見つける方法
述語を使用したストリーム内の最初の不一致の検索
Java 9 では、takewhile 操作とdropwhile 操作が導入され、ストリームベースでストリームを制限する便利な方法が提供されています。述語について。ただし、Java 8 には、この目的のための組み込み操作はありません。
Java 8 の述語を使用してストリーム内の最初の不一致を見つけるためのカスタム実装は次のとおりです。
import java.util.stream.Stream; public class LimitStreamByPredicate { public static void main(String[] args) { // Create an infinite stream of numbers Stream<Integer> numbers = Stream.iterate(1, n -> n + 1); // Predicate to check if a number is less than 10 Predicate<Integer> predicate = n -> n < 10; // Create a limited stream using iteration Stream<Integer> result = numbers.iterator() .takeWhile(predicate) .map(n -> n); // Print the limited stream result.forEach(System.out::println); } }
このコードでは、反復子を使用して、述語を満たさない要素が見つかるまで無限ストリームを手動で繰り返します。次に、述語に一致する要素のみを含む新しいストリーム (結果) を作成します。
このカスタム アプローチは、Java 8 の takewhile と同等の機能を提供し、特定の基準に基づいてストリームを制限できます。組み込み操作が現在の Java バージョンで使用できない場合。
以上が述語を使用して Java 8 ストリーム内の最初の不一致を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。