API Scala позволяет добавлять одну карту к другой следующим образом:
import scala.collection.mutable.{Map => MutableMap}
val m1: MutableMap[Int,String] = MutableMap(1 -> "A", 2 -> "B", 3 -> "C")
val m2: MutableMap[Int,String] = MutableMap(2 -> "X", 3 -> "Y", 4 -> "Z")
m1 ++= m2 // outputs: Map(2 -> X, 4 -> Z, 1 -> A, 3 -> Y)
m1 // outputs: Map(2 -> X, 4 -> Z, 1 -> A, 3 -> Y)
Поведение заключается в переопределении повторяющихся пар парами, идущими с правой карты.
Какой хороший способ сделать это наоборот? То есть объединение пар m1
и m2
в m1
, где пары m1
сохраняются, если повторяется в m2
.