> Что делают функции all и any в Kotlin и как их использовать для проверки условий (Kotlin, Android)

Уровень: senior · Роль: mobile · Категория: Технические вопросы

Компании: Ozon

Стек: Kotlin, Android

> Пример ответа

Функции all и any в Kotlin - это функции-расширения для коллекций (и последовательностей), которые позволяют проверить, удовлетворяют ли все или хотя бы один элемент коллекции заданному условию (предикату).

  • all(predicate) возвращает true, если каждый элемент коллекции соответствует предикату. Для пустой коллекции возвращает true (вакуумная истина).
  • any(predicate) возвращает true, если хотя бы один элемент удовлетворяет предикату. Для пустой коллекции возвращает false.
  • Также есть any() без аргументов - проверяет, не пуста ли коллекция.

Примеры использования в Android/Kotlin:

data class User(val name: String, val isActive: Boolean)

val users = listOf(
    User("Alice", true),
    User("Bob", false),
    User("Charlie", true)
)

// Проверка, все ли пользователи активны
val allActive = users.all { it.isActive } // false

// Проверка, есть ли хотя бы один неактивный пользователь
val anyInactive = users.any { !it.isActive } // true

// Проверка, есть ли пользователь с именем "Bob"
val hasBob = users.any { it.name == "Bob" } // true

// Использование в UI-логике (например, для валидации формы)
val formFields = listOf("email", "password", "name")
val allFilled = formFields.all { it.isNotBlank() } // true, если все непустые

Эти функции часто применяются для валидации данных, фильтрации списков или принятия решений в бизнес-логике, делая код лаконичным и читаемым.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью