You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中计算列表指定字段平均值(类似maxOf用法)

Kotlin 计算Location列表speed字段平均值方案

和你用来求最大值的maxOf扩展函数同属Kotlin标准库集合API,官方直接提供了求平均值的内置方法,无需套用Java实现逻辑。


标准写法(Kotlin 1.5及以上)

和maxOf的调用逻辑完全一致,直接使用averageOf即可:

val avgSpeed: Double = myList.averageOf { it.speed }

以你给出的示例数据计算,该代码返回结果为4.75。

低版本兼容写法

若使用的Kotlin版本低于1.5,可先映射提取所有speed值组成数值列表,再调用average()计算:

val avgSpeed: Double = myList.map { it.speed }.average()

使用说明

  • 以上方法原生支持Int、Long、Float、Double所有内置数值类型,无需额外手动转换类型
  • 空列表调用上述方法会返回Double.NaN,如果需要自定义空列表兜底值,可增加前置判断:
    val avgSpeed = if (myList.isEmpty()) 0.0 else myList.averageOf { it.speed }
    
  • 无需手动编写循环累加逻辑、或调用Java Stream相关API,标准库扩展已经做了对应性能优化。

内容的提问来源于stack exchange,提问作者SoulReaver313

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 23:15:41