2017-03-20 5 views
0

Ich habe Liste der Karte wie unten.Scala - Karte der Liste umwandeln in Karte

List (Karte (AAA -> 1111), Karte (BBB -> 22222), Karte (CCC -> 3333))

ich mich wie konvertieren möchte unter

Karte (AAA-> 111, BBB-> 222, CCC-> 333)

ich weiß, dass es wie

umwandeln kann
newmap:map[string, string] 
list.foreach(keyValueSet => keyValueSet.foreach(case(key,value) => add on new map))) 

aber wollen Sie es mehr skalieren (?) Weg.

Antwort

2

Ein einfacher flatten und toMap tun wird der Trick:

scala> val listOfMaps = List(Map("AAA" -> 1111), Map("BBB" -> 22222), Map("CCC" -> 3333)) 
listOfMaps: List[scala.collection.immutable.Map[String,Int]] = List(Map(AAA -> 1111), Map(BBB -> 22222), Map(CCC -> 3333)) 

scala> val singleMap = listOfMaps.flatten.toMap 
singleMap: scala.collection.immutable.Map[String,Int] = Map(AAA -> 1111, BBB -> 22222, CCC -> 3333) 
+0

Werke für mich, danke :) –