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

Для ассоциативных массивов 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()

Смотрите также

  • функцию sumOf,
    которая вычисляет сумму после преобразования элементов
  • функцию average,
    которая вычисляет среднее арифметическое элементов
  • функцию count,
    которая подсчитывает количество элементов в коллекции
  • функцию fold,
    которая выполняет агрегацию элементов с начальным значением