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