Функция 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 работает со следующими типами коллекций:

Пример

Проверим, все ли элементы списка чисел четные:

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,
    которая подсчитывает количество элементов, удовлетворяющих условию