如何在不初始化的情况下在 Scala 中声明具有键值类型的可变映射



我试图声明一个空的 Map,但修改它会导致不匹配错误,想知道我该如何解决这个问题:

import scala.collection.mutable.Map
val m = Map()
m(3) = 2

Scala 集合为这种情况提供了empty方法

val m = Map.empty[Int, Int]
m(3) = 2

Map[Int, Int]()

相当于

Map.apply[Int, Int]()

当只调用Map()Scala 推断键和值的Nothing

mutable.Map()
// val res0: mutable.Map[Nothing,Nothing] = HashMap()

empty方法的一个优点是,在不可变集合的情况下,它可能性能更高,但可变映射则不是这种情况。

最新更新