Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala映射与HashMap_Scala_Dictionary_Collections - Fatal编程技术网

Scala映射与HashMap

Scala映射与HashMap,scala,dictionary,collections,Scala,Dictionary,Collections,ScalaMap和HashMap之间有区别吗?我使用的scala.collection.immutable.HashMapscala.collection.immutable.Map是不可变映射的接口,scala.collection.immutable.HashMap是一个具体的实现 用Map()或Map.empty创建一个特殊的空单例映射,用Map(a->b)创建多达4对的单例映射会为这样的小映射生成专门的类,5对及以上的映射会生成scala.collection.immutable.Has

Scala
Map
HashMap
之间有区别吗?我使用的
scala.collection.immutable.HashMap
scala.collection.immutable.Map
是不可变映射的接口,
scala.collection.immutable.HashMap
是一个具体的实现


Map()
Map.empty
创建一个特殊的空单例映射,用
Map(a->b)
创建多达4对的单例映射会为这样的小映射生成专门的类,5对及以上的映射会生成
scala.collection.immutable.HashMap

的一个实现。从它们的定义中可以看出,
HashMap
是一个类,
Map
是一个特征他们写道
HashMap
是包含5个或更多元素的
Map
的默认实现。作者没有在帖子中指定scala.collection.immutable.Map或scala.collection.Map。scala.collection.Map()是否也为您提供与scala.collection.immutable.Map()相同的结果映射实现?
scala.collection.Map.{empty,apply}
仅委托给immutable
Map
同伴中相应的工厂方法。但是请注意,如果您在方法签名中显式使用
scala.collection.Map
,那么它将接受可变映射和不可变映射。自动导入的
Map
不可变的。Map