Rumah >Java >javaTutorial >Bagaimana untuk Mengawal Aliran Lelaran Strim Java 8?
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:
<code class="java">Optional<SomeObject> result = someObjects.stream() .filter(obj -> some_condition_met) .findFirst();</code>
(Pengoptimuman ini mengelakkan berulang pada keseluruhan koleksi.)
<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!