Я думаю, что вы действительно хотите здесь это MultiMap
import collection.mutable.{Set, Map, HashMap, MultiMap}
val m = new HashMap[Int,Set[Int]] with MultiMap[Int, Int]
m.addBinding(1,1)
m.addBinding(1,2)
m.addBinding(2,3)
Обратите внимание, что m
само по себе является val
, так как это сама карта, которая теперь изменчива, а не ссылка накарта
На данный момент m
теперь будет:
Map(
1 -> Set(1,2),
2 -> Set(3)
)
К сожалению, нет неизменного эквивалента MultiMap, и у вас есть для указанияконкретный подкласс mutable.Map
, который вы будете использовать во время строительства.
Для всех последующих операций достаточно просто передать объект, набранный как MultiMap[Int,Int]