Как сделать так, чтобы одна или две карты объединялись в scala? - PullRequest
1 голос
/ 10 мая 2019

Я хочу объединить две карты в список карт следующим образом:


val map1 = {"a" -> 1, "b" -> 2, "c" -> 3}
val map2 = {"x" -> 10, "y" -> 20, "z" -> 30}

val res = [{"a" ->1, "x" -> 10},{"b" -> 2, "y" -> 20},{"c" -> 3, "z" -> 30}]

Ответы [ 2 ]

2 голосов
/ 10 мая 2019

Может быть, что-то вроде этого:

val map1 = Map("a" -> 1, "b" -> 2, "c" -> 3)
val map2 = Map("x" -> 10, "y" -> 20, "z" -> 30)


(map1.toList, map2.toList).zipped.map{
   case (a,b) => Map(a,b)
}
1 голос
/ 10 мая 2019

Вы также можете попробовать это:

val map1 = Map("a" -> 1, "b" -> 2, "c" -> 3)
val map2 = Map("x" -> 10, "y" -> 20, "z" -> 30)

val res = for ((i, j) <- map1 zip map2) yield Map(i, j)
...