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

Kotlin中是否有更简洁的方式处理含quantity字段的对象列表展开?

Kotlin 简化重复元素列表生成的写法

你可以直接利用Kotlin中List的构造函数替代嵌套的map,让代码更简洁直观:

listOfObjects.flatMap { myObject ->
    List(myObject.quantity) { myObject.code }
}

优化点说明

  • 原写法通过遍历数字范围生成重复元素,而List(myObject.quantity) { myObject.code }直接明确表达“生成包含myObject.code重复quantity次的列表”,语义更贴合需求。
  • 去掉了一层嵌套,代码结构更扁平,可读性更强。

如果需要复用这类逻辑,还可以封装成扩展函数,让调用更优雅:

fun <T> List<YourObject>.expandByQuantity(): List<T> {
    return flatMap { List(it.quantity) { obj -> obj.code } }
}

// 调用示例
val originalList = listOf(YourObject("A", 1), YourObject("B", 2))
val expandedList = originalList.expandByQuantity() // 结果: ["A", "B", "B"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:31:00