小编Den*_*soi的帖子

mutable.Map 中 withDefaultValue 的行为

谁能解释一下可变映射中的默认值是如何工作的?

scala> val mmap = mutable.Map[String, mutable.Set[String]]().withDefaultValue{mutable.Set[String]()}
mmap: scala.collection.mutable.Map[String,scala.collection.mutable.Set[String]] = Map()

scala> mmap("a") += "b"
res1: scala.collection.mutable.Set[String] = Set(b)
Run Code Online (Sandbox Code Playgroud)

地图是空的,没有钥匙。

scala> mmap
res2: scala.collection.mutable.Map[String,scala.collection.mutable.Set[String]] = Map()
Run Code Online (Sandbox Code Playgroud)

但我刚刚尝试编辑的关键是显示数据。

scala> mmap("a")
res3: scala.collection.mutable.Set[String] = Set(b)
Run Code Online (Sandbox Code Playgroud)

为什么是res2空地图但mmap("a")有值?

scala scala-collections

0
推荐指数
1
解决办法
486
查看次数

标签 统计

scala ×1

scala-collections ×1