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

如何在Kotlin对象列表中提取单个字段值列表

提取Kotlin对象列表中的单个字段值

嘿,这事儿在Kotlin里简直是小菜一碟!你只需要用标准库提供的map扩展函数,就能轻松把对象列表转换成指定字段的列表。

完整实现代码

咱们直接修改你的代码来实现需求:

fun main(args: Array<String>) {
    println("Hello World")
    val memberList = listOf(Member("hong", 10), Member("kil", 10))
    // 提取所有name字段值到新列表
    val nameList = memberList.map { it.name }
    println(nameList) // 输出: [hong, kil]
}

// 注意:Kotlin类名建议首字母大写,这是通用编码规范哦
data class Member(var name: String, var age: Int)

关键代码解释

  • memberList.map { it.name }:map函数会遍历集合中的每一个Member对象,把每个对象转换成它的name属性值,最终返回一个只包含name字符串的新列表。
  • 这里的it是Kotlin的隐式参数,代表当前遍历到的Member对象,你也可以显式命名让代码更清晰,比如memberList.map { member -> member.name },效果完全一致。

额外小提示

如果你的列表里可能存在null对象,或者name字段本身可能为null,可以用mapNotNull来自动过滤掉null值:

// 模拟存在null的场景
val nullableMemberList = listOf(Member("hong", 10), null, Member("kil", 10), Member(null, 20))
val nonNullNameList = nullableMemberList.mapNotNull { it?.name }
println(nonNullNameList) // 输出: [hong, kil]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:11:37