Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengawal Aliran Lelaran Strim Java 8?

Bagaimana untuk Mengawal Aliran Lelaran Strim Java 8?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 02:23:01301semak imbas

How to Control the Flow of Java 8 Stream Iterations?

Lelaran Strim Java 8: Pecah atau Pengembalian

Dalam lelaran Java tradisional, kami menggunakan break atau return dalam yang dipertingkatkan untuk setiap gelung untuk dikawal aliran lelaran luaran. Bagaimanakah kita boleh mencapai gelagat yang serupa dalam lelaran dalaman strim Java 8?

Kawalan Lelaran Luaran

<code class="java">for (SomeObject obj : someObjects) {
    if (some_condition_met) {
        break; // Exit the loop early
    }
}</code>

Lelaran Dalaman

Menggunakan forEach dengan ungkapan lambda, kami memerlukan pendekatan alternatif. Adalah penting untuk ambil perhatian bahawa forEach direka untuk kesan sampingan dan tidak menyediakan cara yang jelas untuk memecahkan atau kembali daripada lelaran.

Penyelesaian Alternatif

Daripada menggunakan forEach , pertimbangkan untuk menggunakan kaedah strim lain yang memberikan kawalan yang lebih tepat:

  • findFirst: Jika matlamatnya adalah untuk mencari elemen pertama yang memenuhi syarat:
<code class="java">Optional<SomeObject> result = someObjects.stream()
    .filter(obj -> some_condition_met)
    .findFirst();</code>

(Pengoptimuman ini mengelakkan berulang pada keseluruhan koleksi.)

  • anyMatch Untuk menentukan sama ada mana-mana elemen dalam koleksi memenuhi syarat:
<code class="java">boolean result = someObjects.stream()
    .anyMatch(obj -> some_condition_met);</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengawal Aliran Lelaran Strim Java 8?. 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