@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.