Scala 使用嵌套贴图

Scala 使用嵌套贴图,scala,nested,sortedmap,Scala,Nested,Sortedmap,我有一个嵌套的地图,我想操纵它 我的数据类型如下: nestedMap :SortedMap[Long, SortedMap[String, Double]] 我有一个nestedMap的实例 我想创建字符串的列表/分类映射,即内部分类映射的键 例如: val nestedMap: SortedMap[Long, SortedMap[String, Double]] = (1000L -> ("component1" -> 1.), 2000L -> ("component1

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

我的数据类型如下:

nestedMap :SortedMap[Long, SortedMap[String, Double]]
我有一个nestedMap的实例

我想创建字符串的列表/分类映射,即内部分类映射的键

例如:

val nestedMap: SortedMap[Long, SortedMap[String, Double]] = (1000L -> ("component1" -> 1.), 2000L -> ("component1" -> 1.1), 3000L -> ("component1" -> 0.95, "component2" -> 1.))
我要创建以下列表:

component = List("component1", "component2") 
组件的数量可以是几十个元素,而长元素和双元素的数量可以是数千个

最有效的方法是什么


谢谢

这取决于地图的大小。对于大型地图,请使用生成器性能。
scala> nestedMap.values
                .flatMap(_.keys)
                .toSet   // or .toList.distinct if you want a List[String]
res3: scala.collection.immutable.Set[String] = Set(component1, component2)