You need to enable JavaScript to run this app. Kotlin 如何将MyClass的intValue映射到集合内每个SomeClass生成配对列表
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin 如何将MyClass的intValue映射到集合内每个SomeClass生成配对列表

直接可用的实现

完全匹配你需要的链式调用写法,运行后直接输出预期的列表结构:

val result = setOfMyClass.flatMap { myClass ->
    myClass.setValues.map { someClass ->
        someClass to myClass.intValue
    }
}

// 等价的简化写法
val result = setOfMyClass.flatMap { mc -> mc.setValues.map { it to mc.intValue } }

实现逻辑说明

  • 遍历顺序和预期完全一致:标准库中setOf返回的集合会保持元素的插入顺序,遍历的时候会按val1、val2、val3的原有顺序处理,不会打乱原有对应关系,最终输出的Pair顺序和你列的预期结果完全对齐。
  • 对每个MyClass实例,遍历其内部的setValues集合,把每个SomeClass元素和该实例携带的intValue组合成Pair。
  • 选择flatMap是核心原因:如果只用普通map,会生成嵌套的列表结构(每个MyClass对应一个包含3个Pair的子列表),flatMap会自动把所有子列表的元素拆出来拼接成一个平的一维列表,完全符合你要的列表类输出要求。
  • 操作过程不会自动触发去重,天然支持同一个SomeClass和多个不同intValue配对的场景(比如预期输出里someClass1分别对应1、2的情况),不需要额外调整配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.08 02:45:09