Scala映射与HashMap
ScalaScala映射与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
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}
仅委托给immutableMap
同伴中相应的工厂方法。但是请注意,如果您在方法签名中显式使用scala.collection.Map
,那么它将接受可变映射和不可变映射。自动导入的Map
是不可变的。Map
。