【发布时间】:2020-08-10 16:08:38
【问题描述】:
我有一个特殊的情况,我想像这样声明简单的配置
val config = List((("a", "b", "c"), ("first")),
(("d", "e"), ("second")),
(("f"), ("third")))
在运行时,我想要一张地图,就像地图一样
"a" -> "first"
"b" -> "first"
"c" -> "first"
"d" -> "second"
"e" -> "second"
"f" -> "third"
使用toMap,我能够将config 转换为地图
scala> config.toMap
res42: scala.collection.immutable.Map[java.io.Serializable,String] = Map((a,b,c) -> first, (d,e) -> second, f -> third)
但我无法弄清楚如何将键列表扁平化为键,因此我得到了最终理想的形式。我该如何解决?
【问题讨论】:
-
这不是一个简单的配置,因为每个元组内部都有不同长度的元组(注意键类型是
java.io.Serializable)。如果你在内部数据中使用Lists 而不是元组,它会容易得多。 -
你是对的。将键声明为列表而不是元组并结合下面发布的答案,我能够得到我想要的结果。谢谢!
标签: scala collections