Функция 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()