我已經定義了Map[Int, Map[String, Int]]
。如何在Scala中對地圖進行排序
我知道如何使用ListMap對外部Map進行排序。例如:
其實所有的地圖都是可變的。
var myMap: Map[ Int, scala.collection.mutable.Map[String, Int] ] = Map()
....
// add some items to myMap
....
var sortedMap = scala.collection.immutable.ListMap(myMap.toList.sortBy{_._1}:_*)
但是,如何根據字符串對內部Map進行排序呢?
下似有不妥:
myMap foreach {
case (num, map) ⇒
map = scala.collection.immutable.ListMap(map.toList.sortBy{_._1}:_*)
}
編譯器說:map: reassignment to val
,但我已經定義內的地圖爲mutable.Map
。我能做什麼?
編譯器錯誤是因爲在部分功能case語句要傳遞到'foreach'從元組聲明提取值一個'val num'和'val map'。 – tysonjh