如何打印地图地图?
我写过
map foreach (x => println (x._1 + "-->" + {x._2 foreach {y=> println( y._1 +" ->"+ y._2)}}))
有效。
但它看起来像一个黑客。
有没有更好的方法在Scala中编写它。
答案 0 :(得分:1)
您可以使用println
。 将打印所有嵌套的Maps
println(map)
答案 1 :(得分:-1)
根据您的需要,您可以从实际呈现完整字符串中受益,然后执行单次打印。参见:
scala> val mapmap = Map(1 -> Map("a" -> "z"), 2 -> Map("b" -> "y", "c" -> "x"))
mapmap: scala.collection.immutable.Map[Int,scala.collection.immutable.Map[String,String]] = Map(1 -> Map(a -> z), 2 -> Map(b -> y, c -> x))
scala> mapmap.foldLeft(""){case (x,accX)=> x.foldLeft(""){case (y,accY) => y + accY} + accX}
res0: String = (1,Map(a -> z))(2,Map(b -> y, c -> x))
现在res0是一个完全物化的字符串输出,没有副作用。