Ответ
Нет, стандартный forEach в Kotlin/Java нельзя прервать досрочно (нет аналога break). Это ограничение дизайна.
Альтернативы:
- Использовать
return@forEachдля пропуска текущей итерации (аналогcontinue) - Использовать обычный цикл
forсbreak - Выбросить исключение (не рекомендуется)
- Использовать
takeWhile/filterдля предварительной фильтрации
Пример с return@forEach:
list.forEach { item ->
if (item == "skip") return@forEach // пропуск
println(item)
}
Для полного прерывания лучше использовать классический for:
for (item in list) {
if (item == "stop") break
println(item)
}