Функция sumOf

Функция sumOf позволяет вычислять сумму элементов последовательности, предварительно выполнив ее фильтрацию.

Синтаксис

kotlinIterable<T>.sumOf(selector: (T) -> Int): Int
kotlinIterable<T>.sumOf(selector: (T) -> Long): Long
kotlinIterable<T>.sumOf(selector: (T) -> Double): Double
kotlinIterable<T>.sumOf(selector: (T) -> Float): Float

Пример

Давайте найдем сумму всех четных чисел из списка:

kotlinval lst: List<Int> = listOf(1, 2, 3, 4, 5)
val res: Int = lst.sumOf { if (it % 2 == 0) it else 0 }

println(res)

Результат выполнения кода:

kotlinInt 6

Пример

Давайте найдем сумму всех чисел из списка:

kotlinval lst: List<Int> = listOf(1, 2, 3, 4, 5)
val res: Int = lst.sumOf { it }

println(res)

Результат выполнения кода:

kotlinInt 15

Пример

Давайте найдем сумму всех строк из списка, преобразовав их в числа:

kotlinval lst: List<Int> = listOf("1", "2", "3", "4", "5")
val res: Int = lst.sumOf { it.toInt() }

println(res)

Результат выполнения кода:

kotlinInt 15