3

Scala で 2 つの MultiMaps を値セットのユニオンでうまく結合するには?

私は現在行っています(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の関数ですら。

4

1 に答える 1

3

にマージmm2するにmm1は、次のようにします。

for ( (k, vs) <- mm2; v <- vs ) mm1.addBinding(k, v)
于 2013-02-22T11:50:37.583 に答える