MapUtils.scala (b56ef2726855dddb9bf4be89b3b52f16023c7ac8) MapUtils.scala (e3da8bad334fc71ba0d72f0607e2e93245ddaece)
1package utils
2
3object MapUtils {
4 def groupByValueUnique[K, V](map: Map[K, V]) : Map[V, Set[K]] = {
5 map.toSeq
6 .groupBy(_._2) // group by keys
1package utils
2
3object MapUtils {
4 def groupByValueUnique[K, V](map: Map[K, V]) : Map[V, Set[K]] = {
5 map.toSeq
6 .groupBy(_._2) // group by keys
7 .map { case (key: V, seq: Seq[(K, V)]) => (key, seq.map(_._1).toSet) }
7 .map { case (key /* V */, seq: Seq[(K, V)]) => (key, seq.map(_._1).toSet) }
8 }
9
10 def groupByValue[K, V](map: Map[K, V]) : Map[V, Seq[K]] = {
11 map.toSeq
12 .groupBy(_._2) // group by keys
8 }
9
10 def groupByValue[K, V](map: Map[K, V]) : Map[V, Seq[K]] = {
11 map.toSeq
12 .groupBy(_._2) // group by keys
13 .map { case (key: V, seq: Seq[(K, V)]) => (key, seq.map(_._1)) }
13 .map { case (key /* V */, seq: Seq[(K, V)]) => (key, seq.map(_._1)) }
14 }
15}
14 }
15}