Sobes.tech
Junior — Middle

Ar įmanoma anksčiau sustabdyti forEach ciklą jo viduje?

sobes.tech AI

Atsakymas iš AI

Kotlin ir Java standartinė forEach metodas nepalaiko ankstyvo ciklo pabaigos naudojant break arba return lambda funkcijoje, nes tai yra aukšto lygio funkcija.

Jei norite anksti nutraukti ciklo vykdymą, geriau naudoti klasikinius for ciklus arba for su indeksais:

for (item in collection) {
    if (someCondition(item)) {
        break // ankstyvas išėjimas iš ciklo
    }
    // item apdorojimas
}

Arba naudoti forEach su išimties valdymu, bet tai nerekomenduojama dėl skaitomumo sumažėjimo.

Todėl tiesiogiai sustabdyti forEach ciklo viduje anksti nėra įmanoma.