如果使用map,则无需导入不可变的map。
但是,如果使用import scala.collection.immutable.HashMap,则可以正常工作。
我也在Set和Hashset中看到了这个问题...
我注意到一个事情,Map和Set是trait而HashSet和HashMap是classes。
那么为什么会这样呢?
编辑:
Stack和Queue类也存在于scala.collection包中。那么为什么我们需要导入这些类呢?
scala> val map=Map[String,Int]()
map: scala.collection.immutable.Map[String,Int] = Map()
但是如果我们使用HashMap,没有进行导入就会出现错误。
scala> val a=HashMap[Int,Int]()
<console>:7: error: not found: value HashMap
val a=HashMap[Int,Int]()
^
但是,如果使用import scala.collection.immutable.HashMap,则可以正常工作。
我也在Set和Hashset中看到了这个问题...
我注意到一个事情,Map和Set是trait而HashSet和HashMap是classes。
那么为什么会这样呢?
编辑:
Stack和Queue类也存在于scala.collection包中。那么为什么我们需要导入这些类呢?
val map = Map()
会做同样的事情,因为Map是不可变的。而且> map + ("Ahoy" -> 0)
也可以工作,这要归功于协变。 - jwinandy