Kotlin 如何在列表中反转贴图和分组值?
我有下面的地图Kotlin 如何在列表中反转贴图和分组值?,kotlin,functional-programming,Kotlin,Functional Programming,我有下面的地图 val maptottransform=mapOf(1到4,2到5,4到4,6到3,9到3) 我想把它转换成地图 val transformedMap=mapOf(3到listOf(6,9),4到listOf(1,4),5到listOf(2)) 我的尝试如下: val trunt=maptottransform.map{it.value to it.key}.groupBy{it.first} 这就给出了{4=[(4,1),(4,4)],5=[(5,2)],3=[(3,6)
val maptottransform=mapOf(1到4,2到5,4到4,6到3,9到3)
我想把它转换成地图
val transformedMap=mapOf(3到listOf(6,9),4到listOf(1,4),5到listOf(2))
我的尝试如下:
val trunt=maptottransform.map{it.value to it.key}.groupBy{it.first}
这就给出了{4=[(4,1),(4,4)],5=[(5,2)],3=[(3,6),(3,9)]}
有什么帮助吗?除了
键选择器之外,还有一个groupBy重载,它接受值转换
:
maptottransform.map{it.value to it.key}.groupBy({it.first},{it.second})
但是你可以简化你的第一部分,因为你不需要事先交换东西:
mapToTransform.entries.groupBy({it.value},{it.key})
除了键选择器
之外,还有一个groupBy重载,它接受值转换
:
maptottransform.map{it.value to it.key}.groupBy({it.first},{it.second})
但是你可以简化你的第一部分,因为你不需要事先交换东西:
mapToTransform.entries.groupBy({it.value},{it.key})
或maptottransform.entries.groupBy({it.value},{it.key})
我真的要发布那篇文章或maptottransform.entries.groupBy({it.value},{it.key})
我真的要发布那篇文章了