Вложенные карты по умолчанию в Scala

Я пытаюсь создать вложенные карты в Scala, где и внешняя, и внутренняя карта используют "withDefaultValue" метод. Например, следующее:

val m = HashMap.empty[Int, collection.mutable.Map[Int,Int]].withDefaultValue( HashMap.empty[Int,Int].withDefaultValue(3))
m(1)(2)
res: Int = 3
m(1)(2) = 5
m(1)(2) 
res: Int = 5
m(2)(3) = 6
m
res : scala.collection.mutable.Map[Int,scala.collection.mutable.Map[Int,Int]] = Map()

Таким образом, карта, при обращении к ней с помощью соответствующих клавиш, возвращает мне то, что я вставил. Однако сама карта кажется пустой! Даже m.size в этом примере возвращает 0. Может ли кто-нибудь объяснить, что здесь происходит?

11
задан nomad 18 January 2012 в 03:30
поделиться