使用嵌套地图

时间:2014-11-09 20:55:48

标签: scala nested sortedmap

我有一个我想操纵的嵌套地图。

我的数据类型如下:

nestedMap :SortedMap[Long, SortedMap[String, Double]]

我有一个嵌套地图的实例。

我想创建String的List / SortedMap(即内部SortedMap的键)。

例如:

val nestedMap: SortedMap[Long, SortedMap[String, Double]] = (1000L -> ("component1" -> 1.), 2000L -> ("component1" -> 1.1), 3000L -> ("component1" -> 0.95, "component2" -> 1.))

我想创建以下列表:

component = List("component1", "component2") 

组件的数量可能是几十个元素,但Long和Double元素的数量可能是数千个。

最有效的方法是什么?

谢谢

1 个答案:

答案 0 :(得分:3)

scala> nestedMap.values
                .flatMap(_.keys)
                .toSet   // or .toList.distinct if you want a List[String]
res3: scala.collection.immutable.Set[String] = Set(component1, component2)