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

如果我在Kotlin中有一个对象的集合,是否有一个快速的方法来获得这些对象的某个属性的集合? 我查看了Kotlin的收集操作清单,但没有什么突出的(但我可能忽略了一些)

在Python中,它将类似于:

[person.name for person in persons]

我宁愿使用一个集合函数而不是:

 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 }; 

或者使用函数引用表达式代替:

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