Функция average
Функция average вычисляет среднее арифметическое значение
элементов числовой коллекции. Работает с коллекциями, содержащими
числовые типы данных: Int, Long, Double,
Float, Short, Byte. Возвращает результат
в виде числа типа Double.
Импорт
import kotlin.collections.average
Синтаксис
fun Array<out Byte>.average(): Double
fun Array<out Short>.average(): Double
fun Array<out Int>.average(): Double
fun Array<out Long>.average(): Double
fun Array<out Float>.average(): Double
fun Array<out Double>.average(): Double
fun Iterable<Byte>.average(): Double
fun Iterable<Short>.average(): Double
fun Iterable<Int>.average(): Double
fun Iterable<Long>.average(): Double
fun Iterable<Float>.average(): Double
fun Iterable<Double>.average(): Double
fun Sequence<Byte>.average(): Double
fun Sequence<Short>.average(): Double
fun Sequence<Int>.average(): Double
fun Sequence<Long>.average(): Double
fun Sequence<Float>.average(): Double
fun Sequence<Double>.average(): Double
Поддерживаемые типы коллекций
Функция average работает со следующими типами коллекций:
Array- массивы числовых типовList- списки числовых типовSet- множества числовых типовMutableList- изменяемые списки числовых типовMutableSet- изменяемые множества числовых типовSequence- последовательности числовых типов
Для Map функция average не применяется напрямую,
но можно использовать для вычисления среднего значений ключей
или значений через преобразование.
Пример
Вычислим среднее арифметическое для массива целых чисел:
val numbers = arrayOf(1, 2, 3, 4, 5)
val res = numbers.average()
println(res)
Результат выполнения кода:
Double 3.0
Пример
Вычислим среднее арифметическое для списка дробных чисел:
val numbers = listOf(1.5, 2.5, 3.5, 4.5, 5.5)
val res = numbers.average()
println(res)
Результат выполнения кода:
Double 3.5
Пример
Вычислим среднее арифметическое для множества:
val numbers = setOf(10, 20, 30, 40, 50)
val res = numbers.average()
println(res)
Результат выполнения кода:
Double 30.0
Пример
Для пустой коллекции функция average возвращает NaN:
val emptyList = emptyList<Int>()
val res = emptyList.average()
println(res)
Результат выполнения кода:
Double NaN
Пример
Вычисление среднего арифметического для значений Map:
val map = mapOf("a" to 10, "b" to 20, "c" to 30)
val res = map.values.average()
println(res)
Результат выполнения кода:
Double 20.0