如何在 Kotlin 中使用关联

丹尼斯博士

我得到了下一个数据结构:

data class Store (
    val name: String,
    val products: Set<Product>
)



data class Product (
    val name: String,
)

val stores: List<Stores>

val productMap = Map<Product, Set<Store>> = ?

如何获得一个地图,其中键是产品,值是商店的集合?

谢尔盖

您可以groupByTo在每个商店的每个产品项目上使用来对元素进行分组:

val stores: List<Store> = listOf(
        Store("S1", setOf(Product("S1P1"), Product("S1P2"))),
        Store("S2", setOf(Product("S2P1"), Product("S2P2")))
)

val productMap: MutableMap<in Product, MutableList<Store>> = mutableMapOf()
stores.forEach { store ->
    store.products.groupByTo(productMap, { it }, { store })
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章