Java 8: Melaksanakan Pengehadan Strim Berdasarkan Padanan Predikat
Java 8 tidak mempunyai operasi strim khusus yang mengehadkan aliran yang berpotensi tidak terhingga sehingga elemen gagal padan dengan predikat yang diberikan. Semasa Java 9 memperkenalkan operasi takeWhile untuk tujuan ini, pengguna Java 8 mencari strategi pelaksanaan alternatif.
Penyelesaian dalam Java 8
Untuk melaksanakan pengehadan aliran berasaskan predikat dalam Java 8, pendekatan berikut boleh digunakan:
Contoh:
IntStream.iterate(1, n -> n + 1) .limit(Long.MAX_VALUE) .filter(n -> n < 10) .forEach(System.out::println);
Java 9 and Beyond
Jika menggunakan Java 9 atau lebih baru, operasi takeWhile memudahkan proses pelaksanaan:
IntStream.iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengehadkan Strim Java 8 Infinite Berdasarkan Predikat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!