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