Я пытаюсь создать вложенные карты в 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. Может ли кто-нибудь объяснить, что здесь происходит?