Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Memecah atau Kembali dari Java 8 Stream forEachLike Iteration?

Linda Hamilton
Lepaskan: 2024-10-24 01:42:02
asal
508 orang telah melayarinya

How to Break or Return from Java 8 Stream forEachLike Iteration?

Memecah atau Mengembalikan daripada Java 8 Stream forEach

Seperti lelaran luaran yang menggunakan dipertingkatkan untuk setiap gelung, lelaran dalaman dengan ungkapan lambda Java 8 memerlukan pendekatan yang berbeza untuk memecahkan atau kembali. Memecahkan keluar daripada gelung untuk-setiap boleh dicapai menggunakan pernyataan putus atau dengan mengembalikan objek semasa.

Dalam kes strim forEach, tiada putus atau pulangan boleh digunakan. Sebabnya ialah forEach ialah operasi terminal, bermakna ia melaksanakan kesan sampingan pada setiap elemen dan tidak mengembalikan sebarang nilai.

Alternatif untuk Memecah atau Mengembalikan daripada Strim forEach

Sebaliknya, seseorang harus mempertimbangkan untuk menggunakan kaedah strim lain yang menawarkan fungsi berbeza:

  • penapis(): Untuk menapis elemen yang tidak memenuhi syarat yang ditetapkan dan dapatkan strim baharu yang mengandungi elemen yang ditapis.
  • findFirst(): Untuk mendapatkan semula elemen pertama yang memenuhi predikat tertentu. Jika tiada elemen sepadan, ia mengembalikan Pilihan kosong.
  • anyMatch(): Untuk menyemak sama ada mana-mana elemen sepadan dengan predikat tertentu.
  • collect(): Untuk mengurangkan strim kepada satu nilai, koleksi atau hasil lain.

Kod Contoh

Menggunakan penapis() 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

Menggunakan anyMatch() untuk menentukan sama ada mana-mana elemen memenuhi predikat:

<code class="java">boolean result = someObjects.stream().anyMatch(obj -> some_condition_met);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memecah atau Kembali dari Java 8 Stream forEachLike Iteration?. 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