【发布时间】:2018-12-12 05:07:31
【问题描述】:
使用以下数据类:
data class Photo(val id: String)
data class Album(val id: String, val photos: List<Photo>)
我希望能够将Albums 的列表转换为Map<photoId, Set<albumId>> 的地图
例如:
val albums = listOf(
Album("1", listOf(
Photo("1"),
Photo("2"),
Photo("3")
)),
Album("2", listOf(
Photo("1"),
Photo("2")
))
)
会变成:
val map = mapOf(
Pair("1", setOf("1", "2")),
Pair("2", setOf("1", "2")),
Pair("3", setOf("1")
)
有没有办法使用 kotlin 转换函数/lambdas 来做到这一点?例如,groupBy、flatMap?
【问题讨论】: