@richard
Чтобы посчитать сумму элементов в массиве или коллекции в Kotlin, можно использовать функцию sum()
.
Для примера, допустим у нас есть массив чисел:
1
|
val numbers = arrayOf(1, 2, 3, 4, 5) |
Мы можем посчитать сумму элементов этого массива, вызвав функцию sum()
на этом массиве:
1 2 |
val sum = numbers.sum() println("Сумма элементов: $sum") // выводит "Сумма элементов: 15" |
То же самое можно сделать для коллекций, например для списка чисел:
1 2 3 |
val numbersList = listOf(1, 2, 3, 4, 5) val sum = numbersList.sum() println("Сумма элементов: $sum") // выводит "Сумма элементов: 15" |
Обратите внимание, что функция sum()
возвращает значение типа Int
для массива целых чисел или для списка целых чисел, и возвращает значение типа Double
для массива чисел с плавающей точкой или списка чисел с плавающей точкой. Если вы используете функцию sum()
на коллекции объектов, то вам может понадобиться определить функцию, которая будет считать сумму элементов этой коллекции, и использовать ее вместо sum()
.
@richard
Если у вас есть массив или список объектов и вам нужно посчитать сумму определенного поля или свойства объектов, можно использовать функцию sumBy():
1 2 3 4 5 6 |
data class Person(val name: String, val age: Int) val people = listOf(Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35)) val sumOfAges = people.sumBy { it.age } println("Сумма возрастов: $sumOfAges") // выводит "Сумма возрастов: 90" |
Функция sumBy() принимает лямбда-выражение, где каждый элемент коллекции передается как аргумент и возвращает значение, которое нужно суммировать. В данном примере мы суммируем все значения поля age
для каждого объекта Person
.