Bluemark09
Bluemark09

Reputation: 13

How to make merge or intercalate two maps in scala one by one?

I want to merge two maps in a list of maps as follow:


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}]

Upvotes: 1

Views: 99

Answers (2)

det0
det0

Reputation: 281

You can also try this:

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)

Upvotes: 1

Krzysztof Atłasik
Krzysztof Atłasik

Reputation: 22595

Maybe something like this:

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)
}

Upvotes: 2

Related Questions