val map1 = Map("a" -> 1, "b" -> 2)
val map2 = Map("b" -> 999, "c" -> 4, "d" -> 5)
val combined = map2.foldLeft(map1) {
case (acc, (key, value)) =>
acc.updated(key, acc.getOrElse(key, 0) + value)
}
println(combined)
/*
run:
Map(a -> 1, b -> 1001, c -> 4, d -> 5)
*/