Sobes.tech
Junior — Middle

Lehetséges-e a forEach ciklust idő előtt megállítani annak belsejében?

sobes.tech MI

Válasz az MI-től

Kotlin és Java esetén az alapértelmezett forEach metódus nem támogatja a ciklus korai befejezését break vagy return segítségével a lambda-ból, mivel ez egy magasabb rendű függvény.

Ha a ciklus végrehajtását korán meg szeretnéd szakítani, akkor jobb a klasszikus for ciklus vagy indexelt for használata:

for (item in collection) {
    if (someCondition(item)) {
        break // korai kilépés a ciklusból
    }
    // item feldolgozása
}

Vagy forEach-et kivétellel használni, de ez nem ajánlott az olvashatóság csökkenése miatt.

Ezért nem lehet közvetlenül megszakítani a forEach-et a belsejében.