Функция sum
Функция sum вычисляет сумму всех элементов числовой коллекции.
Применяется к коллекциям, содержащим числовые типы данных:
Int, Double, Float, Long, Short и Byte.
Для нечисловых типов данных используется функция sumOf.
Импорт
import kotlin.collections.sum
Синтаксис
fun Array<Int>.sum(): Int
fun Array<Double>.sum(): Double
fun Array<Float>.sum(): Float
fun Array<Long>.sum(): Long
fun Array<Short>.sum(): Short
fun Array<Byte>.sum(): Int
fun Iterable<Int>.sum(): Int
fun Iterable<Double>.sum(): Double
fun Iterable<Float>.sum(): Float
fun Iterable<Long>.sum(): Long
fun Iterable<Short>.sum(): Short
fun Iterable<Byte>.sum(): Int
Поддерживаемые типы коллекций
Функция sum работает со следующими типами коллекций:
Array- массивы числовых типовList- списки числовых типовSet- множества числовых типовMutableList- изменяемые списки числовых типовMutableSet- изменяемые множества числовых типов- Любые другие реализации
Iterableс числовыми элементами
Для ассоциативных массивов Map функция sum не применяется,
так как они не являются числовыми коллекциями.
Пример
Вычислим сумму элементов массива целых чисел:
val numbers = arrayOf(1, 2, 3, 4, 5)
val res = numbers.sum()
println(res)
Результат выполнения кода:
Int 15
Пример
Вычислим сумму элементов списка дробных чисел:
val doubles = listOf(1.5, 2.3, 3.7)
val res = doubles.sum()
println(res)
Результат выполнения кода:
Double 7.5
Пример
Вычислим сумму элементов множества:
val set = setOf(10, 20, 30, 40)
val res = set.sum()
println(res)
Результат выполнения кода:
Int 100
Пример
Для пустой коллекции функция возвращает 0:
val emptyList = emptyList<Int>()
val res = emptyList.sum()
println(res)
Результат выполнения кода:
Int 0
Ошибки
При попытке использовать sum с нечисловыми типами данных
компилятор выдаст ошибку:
val strings = listOf("a", "b", "c")
// Ошибка компиляции:
// None of the following functions can be called with the arguments supplied
// val res = strings.sum()