Функция all
Функция all проверяет, удовлетворяют ли все элементы коллекции
заданному условию (предикату). Возвращает true, если все элементы
удовлетворяют условию, или если коллекция пуста. Возвращает false,
если хотя бы один элемент не удовлетворяет условию.
В первый параметр передается лямбда-функция с условием проверки.
Импорт
kotlinimport kotlin.collections.all
Синтаксис
kotlin// Для Iterable (List, Set)
inline fun <T> Iterable<T>.all(
predicate: (T) -> Boolean
): Boolean
kotlin// Для Array
inline fun <T> Array<T>.all(
predicate: (T) -> Boolean
): Boolean
kotlin// Для Map
inline fun <K, V> Map<K, V>.all(
predicate: (Entry<K, V>) -> Boolean
): Boolean
kotlin// Для примитивных массивов
inline fun BooleanArray.all(
predicate: (Boolean) -> Boolean
): Boolean
inline fun ByteArray.all(
predicate: (Byte) -> Boolean
): Boolean
inline fun CharArray.all(
predicate: (Char) -> Boolean
): Boolean
inline fun DoubleArray.all(
predicate: (Double) -> Boolean
): Boolean
inline fun FloatArray.all(
predicate: (Float) -> Boolean
): Boolean
inline fun IntArray.all(
predicate: (Int) -> Boolean
): Boolean
inline fun LongArray.all(
predicate: (Long) -> Boolean
): Boolean
inline fun ShortArray.all(
predicate: (Short) -> Boolean
): Boolean
Поддерживаемые типы коллекций
Функция all работает со следующими типами коллекций:
Array- массивы объектовList- спискиSet- множестваMap- словари (ассоциативные массивы)Iterable- любые итерируемые коллекции- Примитивные массивы:
IntArray,DoubleArray,CharArrayи другие
Пример
Проверим, все ли элементы списка чисел четные:
kotlinval numbers = listOf(2, 4, 6, 8, 10)
val res = numbers.all { it % 2 == 0 }
println(res)
Результат выполнения кода:
kotlinBoolean true
Пример
Проверим, все ли элементы массива строк длиннее 2 символов:
kotlinval strings = arrayOf("abc", "def", "ghi")
val res = strings.all { it.length > 2 }
println(res)
Результат выполнения кода:
kotlinBoolean true
Пример
Проверим, все ли значения в словаре положительные:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val res = map.all { it.value > 0 }
println(res)
Результат выполнения кода:
kotlinBoolean true
Пример
Проверим, все ли элементы примитивного массива больше 0:
kotlinval intArray = intArrayOf(1, 2, 3, 4, 5)
val res = intArray.all { it > 0 }
println(res)
Результат выполнения кода:
kotlinBoolean true
Пример
Проверим пустую коллекцию - функция всегда возвращает true:
kotlinval emptyList = emptyList<Int>()
val res = emptyList.all { it > 10 }
println(res)
Результат выполнения кода:
kotlinBoolean true
Смотрите также
-
функцию
any,
которая проверяет, удовлетворяет ли условию хотя бы один элемент -
функцию
none,
которая проверяет, что ни один элемент не удовлетворяет условию -
функцию
filter,
которая фильтрует элементы по заданному условию -
функцию
count,
которая подсчитывает количество элементов, удовлетворяющих условию