Можно ли досрочно остановить цикл forEach внутри его тела?

В Kotlin и Java стандартный метод forEach не поддерживает досрочный выход из цикла через break или return из лямбды, так как это функция высшего порядка.

Короткий ответ

Что ответить на собеседовании

В Kotlin и Java стандартный метод forEach не поддерживает досрочный выход из цикла через break или return из лямбды, так как это функция высшего порядка.

Подробный разбор

Ответ с пояснениями

В Kotlin и Java стандартный метод forEach не поддерживает досрочный выход из цикла через break или return из лямбды, так как это функция высшего порядка.

Если нужно прервать выполнение цикла досрочно, лучше использовать классический цикл for или for с индексами:

for (item in collection) {
    if (someCondition(item)) {
        break // досрочно выйти из цикла
    }
    // обработка item
}

Или использовать forEach с исключением, но это не рекомендуется из-за снижения читаемости.

Таким образом, досрочно остановить forEach внутри его тела напрямую нельзя.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку