Функция count
Функция count выполняет подсчет элементов в коллекции.
Может использоваться без параметров для получения общего количества элементов,
либо с предикатом в виде лямбда-функции для подсчета элементов,
удовлетворяющих определенному условию.
Применяется к массивам Array, спискам List,
множествам Set, ассоциативным массивам Map
и другим типам коллекций.
Импорт
import kotlin.collections.count
Синтаксис
// Для коллекций
fun <T> Iterable<T>.count(): Int
fun <T> Iterable<T>.count(predicate: (T) -> Boolean): Int
// Для массивов
fun <T> Array<out T>.count(): Int
fun <T> Array<out T>.count(predicate: (T) -> Boolean): Int
// Для ассоциативных массивов
fun <K, V> Map<out K, V>.count(): Int
fun <K, V> Map<out K, V>.count(predicate: (Entry<K, V>) -> Boolean): Int
Пример
Подсчитаем общее количество элементов в списке:
val numbers = listOf(1, 2, 3, 4, 5)
val res = numbers.count()
println(res)
Результат выполнения кода:
Int 5
Пример
Подсчитаем количество четных чисел в массиве:
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
val res = numbers.count { it % 2 == 0 }
println(res)
Результат выполнения кода:
Int 4
Пример
Подсчитаем количество элементов в множестве, которые больше 3:
val numbers = setOf(1, 2, 3, 4, 5)
val res = numbers.count { it > 3 }
println(res)
Результат выполнения кода:
Int 2
Пример
Подсчитаем количество записей в ассоциативном массиве,
где значение больше 10:
val map = mapOf("a" to 5, "b" to 15, "c" to 8, "d" to 20)
val res = map.count { it.value > 10 }
println(res)
Результат выполнения кода:
Int 2
Пример
Подсчитаем количество символов в строке, которые являются цифрами:
val text = "abc123def456"
val res = text.count { it.isDigit() }
println(res)
Результат выполнения кода:
Int 6