Можно ли прервать выполнение forEach

«Можно ли прервать выполнение forEach» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, стандартный forEach в Kotlin/Java нельзя прервать досрочно (нет аналога break). Это ограничение дизайна.

Альтернативы:

  1. Использовать return@forEach для пропуска текущей итерации (аналог continue)
  2. Использовать обычный цикл for с break
  3. Выбросить исключение (не рекомендуется)
  4. Использовать 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)
}