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

求Kotlin Lambda优化建议:统计每位司机对应总收入的实现

Kotlin 司机营收统计代码优化方案

原代码问题分析

现有代码逻辑正确,但存在较多冗余的中间操作:一共触发三次集合遍历,还生成了临时Pair列表、分组cost列表等不必要的中间对象,内存和时间效率都有优化空间,代码也不够简洁。

最优简洁写法

Kotlin标准库内置的groupingBy聚合API可以直接实现需求,仅需一次遍历即可得到结果,无需任何中间转换:

val driversToIncome = trips.groupingBy { it.driver }.sumOf { it.cost }

如果使用的是Kotlin 1.4以下版本,也可以用fold实现等价逻辑:

val driversToIncome = trips.groupingBy { it.driver }
    .fold(0) { total, trip -> total + trip.cost }

优化点说明

  • 效率更高:仅遍历一次trips集合,边分组边累加营收,没有多余的中间集合生成,数据量较大时性能优势尤为明显
  • 可读性更强:代码逻辑高度贴合需求语义,无需额外注释就能直观理解「按司机分组、统计每个司机营收总和」的业务逻辑
  • 代码更精简:省去了中间的map、toMap等转换步骤,代码量缩减70%以上

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:36:02