我有一个下面的Kotlin映射,我想反转该映射,对于重复的新键,该值将附加到列表中。
val map = Map(1 to 111, 2 to 222, 3 to 111)
转换后,结果图是
Map(111 to List(1,3), 222 to 2)
PS:我确实通过创建可变映射并迭代现有映射来制定出一种实现方法。但我更多地寻找一种不变的方法。
最佳答案
您可以按每个条目的值选择键将 map 条目分组:
val map = mapOf(1 to 111, 2 to 222, 3 to 111)
val reversed = map.entries.groupBy({ it.value }, { it.key })
println(reversed) // prints: {111=[1, 3], 222=[2]}
关于kotlin - 如何使用不变变换在Kotlin中反转 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52232067/