> Что делают функции 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, если все непустые
Эти функции часто применяются для валидации данных, фильтрации списков или принятия решений в бизнес-логике, делая код лаконичным и читаемым.
> Похожие задачи по mobile
Почему нельзя создать экземпляр класса Nothing в Kotlin
Есть ли аннотации для улучшения интеропа Kotlin и Java, например JVMStatic
Что такое Coroutine Builders в Kotlin
Как проверить тип параметра в обобщённом методе Kotlin
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью