Reverse / transponer un mapa de uno a muchos en Scala
Cuál es la mejor manera de convertir unMap[A, Set[B]]
en unaMap[B, Set[A]]
?
Por ejemplo, ¿cómo puedo convertir un
Map(1 -> Set("a", "b"),
2 -> Set("b", "c"),
3 -> Set("c", "d"))
en u
Map("a" -> Set(1),
"b" -> Set(1, 2),
"c" -> Set(2, 3),
"d" -> Set(3))
(Estoy usando colecciones inmutables solo aquí. Y mi verdadero problema no tiene nada que ver con cadenas o enteros.)