我有一个自定义对象列表。以下是data class
:
data class ProductsResponse(
val id:String,
val ProductType:String
)
我有以下列表:
var productList: List<ProductResponse>
我希望输出为:
var productNameList: List<String>
我想获得一个仅包含ProductType
的列表,即list
Strings
我知道使用for循环并将ProductType
字符串复制到新列表将完成这项工作。但我希望使用Kotlin
提供的功能以更短的方式完成。
如何以 Kotlin方式将上述自定义对象list
转换为list
Strings
?
答案 0 :(得分:14)
您可以使用map功能:
val productNameList:List<String> = productList.map { it.ProductType }
这会将每个ProductsResponse映射到它的ProductType。
答案 1 :(得分:5)
val productNameList = productList.map { it.ProductType }
无需指定类型,将推断出
答案 2 :(得分:0)
val productNameList = productList.groupBy {it.ProductType} .keys
这正是您想要的。