kotlin - 复制列表但修改字段
问题描述
我有一个清单People
。
我想将每个人的状态从 更改"active"
为"not-active"
。我无法修改原始数据结构或原始数据。
fun changeClone(list: List<People>) {
val newList = MutableList<People>()
list.forEach { person ->
//i feel there has to be an easier faster way to do this in kotlin
val newPerson(person.name, ...., status = "not-active")
newList.add(newPerson)
}
showUi(newList)
}
这是 a 的Person
样子:
data class Person(val name: String, ..., val status: String) {
}
我可以val status
进入var
,但实际上我不应该修改原始数据。那么我可以做一个转换技巧来让这更容易吗?
所有其他数据也必须相同。
解决方案
val newList = list.map { person ->
person.copy(status = "not-active")
}
推荐阅读
- python-3.x - Python datetime.datetime.now 在循环中显示错误的时间
- python - 在 pandas 数据框中从每周数据转移到每日数据
- json - Ruby - 将 JSON 对象和键传递给函数
- reactjs - 页面刷新时重定向到其他组件
- c++ - 如何增加使用 CUDA 实现的 FLOPS
- python - 让 Visual Studio Codespaces 自行运行超过 2 小时?
- eclipse - Eclipse/STS - 通过命令行 - 在 Eclipse 启动时引用 epf 文件的参数是什么?
- ruby-on-rails - 设计和 Ruby on Rails:注册时所有验证都失败,并显示“不能为空白”
- python - 你对处理黑杰克手有什么建议?
- python - 根据模式替换某些值并在熊猫中提取子字符串