Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan `takeWhile` dalam Java 8 Streams?

Bagaimana untuk Melaksanakan `takeWhile` dalam Java 8 Streams?

Susan Sarandon
Susan Sarandonasal
2024-12-27 00:08:10391semak imbas

How to Implement `takeWhile` in Java 8 Streams?

Cara Mengehadkan Strim Sehingga Predikat Gagal

Strim Java 8 menyediakan set operasi yang berkuasa untuk memanipulasi dan memproses data. Di antara operasi ini adalah keperluan untuk mengehadkan aliran sehingga elemen pertama gagal padan dengan predikat tertentu. Soalan ini meneroka cara untuk mencapai fungsi ini dalam Java 8.

Dalam Java 9, operasi takeWhile diperkenalkan, yang boleh digunakan untuk mengehadkan aliran berdasarkan predikat. Walau bagaimanapun, untuk Java 8, kita perlu mencari penyelesaian alternatif.

Penyelesaian

Untuk melaksanakan takeWhile dalam Java 8, kita boleh menggunakan pendekatan berikut:

  • Buat strim berulang yang menjana jujukan elemen selama-lamanya.
  • Gunakan penapis untuk mencipta strim yang mengandungi hanya elemen yang sepadan dengan predikat.
  • Gunakan had untuk menetapkan bilangan maksimum unsur dalam strim yang terhasil.

Berikut ialah contoh kod:

IntStream
    .iterate(1, n -> n + 1)
    .filter(n -> n < 10)
    .limit(-1)
    .forEach(System.out::println);

Dalam JDK 9, operasi takeWhile boleh digunakan secara langsung, seperti yang ditunjukkan dalam contoh berikut:

IntStream
    .iterate(1, n -> n + 1)
    .takeWhile(n -> n < 10)
    .forEach(System.out::println);

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan `takeWhile` dalam Java 8 Streams?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn