gpt4 book ai didi

collections - 如何通过元素的属性将集合转换/转换为另一个集合?

转载 作者:IT老高 更新时间:2023-10-28 13:30:23 26 4
gpt4 key购买 nike

如果我在 Kotlin 中有一个对象的集合,有没有一种快速的方法来获取这些对象的某个属性的集合?我查看了 collection operations for Kotlin 的列表,但对我来说没有什么突出的(但我可能忽略了一些东西)

在 python 中类似于:

[person.name for person in Person]

而且我更喜欢使用集合函数而不是这样做:

var nameMap = mutableListOf<String>()
persons.forEach{person -> nameMap.add(person.name)}

我非常缺乏过滤/lambda函数以及列表理解以外的任何知识,所以如果这是一个简单的问题,请道歉

最佳答案

在 Kotlin 中很容易做到:

//           v--- the variable type can be removed
var nameMap: MutableList<String> = persons.map { it.name }.toMutableList();

如果你想要一个不可变的List,它可以简化如下:

//           v--- the variable type can be removed
var nameMap: List<String> = persons.map { it.name };

使用function reference expression而是:

var nameMap = persons.map(Person::name);

关于collections - 如何通过元素的属性将集合转换/转换为另一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44738319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com