如何在 Scala 中以一种很好的方式将两个 MultiMap 与值集的联合结合起来?
我目前这样做(假设 mm1 和 mm2 是具有相同类型的 MultiMaps):
val tempmm = (mm1.keySet union mm2.keySet).
map{k=>(k,(mm1.getOrElse(k,Set()) union mm2.getOrElse(k,Set())))}
tempmm.foreach{case (k,v) => mm1(k)=v}
现在我在 mm1 中得到了正确的结果。但我相信一定有更好的方法。甚至可能是 MultiMap 中的一个函数。
最佳答案
要将 mm2
合并到 mm1
中,您可以这样做:
for ( (k, vs) <- mm2; v <- vs ) mm1.addBinding(k, v)
关于scala - 在 Scala 中合并两个 MultiMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15022264/