考虑var myMap = Map[String,Map[String,Map[String,String]]]()
。
1)我试图如下所示向此变量添加条目,但未成功:myMap = myMap + ("a" -> ("b1" -> ("c" -> "d", "e" -> "f")))
我该如何解决?
2)假设我们完成了上面的步骤1,如何在结构中的某处添加另一个子图;说myMap = myMap + ("a" -> ("b2" -> ("g" -> "h")))
?
最终结果应类似于以下结构:
a:{
b1:{
c:d,
e:f
},
b2:{
g:h
}
}
答案 0 :(得分:4)
使用可变集合而不是可变变量会更容易。
import collection.mutable.Map
val myMap = Map[String,Map[String,Map[String,String]]]()
myMap.update("a", Map("b1" -> Map("c" -> "d", "e" -> "f")))
myMap("a").update("b2", Map("g" -> "h"))
//Map(a -> Map(b2 -> Map(g -> h), b1 -> Map(c -> d, e -> f)))