Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengawal Aliran Lelaran Strim Java 8?

Mary-Kate Olsen
Lepaskan: 2024-10-24 02:23:01
asal
311 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

(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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!