如果我们使用 map 则无需导入 immutable map
scala> val map=Map[String,Int]()
map: scala.collection.immutable.Map[String,Int] = Map()
但是如果我们使用 HashMap,那么不做 import 就会报错。
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 是类。
那为什么会这样???
编辑
scala.collection 包中也存在类 Stack 和 Queue。那为什么我们需要导入这些类。 ???
最佳答案
Program to an interface, not an implementation . Scala 设计人员通过在 Predef 中提供接口(interface)的快捷方式来鼓励这一点。
关于scala - 为什么 Scala Map 是自动导入的,而 HashMap 不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14837485/