【问题标题】:Scala Map vs HashMapScala Map vs HashMap
【发布时间】:2015-10-19 12:51:51
【问题描述】:

Scala MapHashMap 之间有区别吗?我正在使用scala.collection.immutable.HashMap

【问题讨论】:

  • HashMapMap 的实现。正如您在他们的定义中看到的那样,HashMap 是一个类,Map 是一个特征。
  • Programming in Scala, 1ed(搜索“默认不可变映射实现”)中,他们写道HashMap 是具有5 个或更多元素的Map 的默认实现.

标签: scala dictionary collections


【解决方案1】:

scala.collection.immutable.Map 是不可变映射的接口,scala.collection.immutable.HashMap 是具体实现。

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

【讨论】:

  • 作者在帖子中没有指定 scala.collection.immutable.Map 或 scala.collection.Map。 scala.collection.Map() 是否也为您提供与 scala.collection.immutable.Map() 相同的 Map 实现?
  • scala.collection.Map.{empty, apply} 只是委托给不可变的 Map 伴侣中的相应工厂方法。请注意,例如,如果您在方法签名中明确使用scala.collection.Map,它将接受可变映射以及不可变映射。 Map 自动导入(通过 Predef)是 immutable.Map
猜你喜欢
  • 2015-01-14
  • 2012-03-20
  • 2011-04-07
  • 1970-01-01
  • 2011-01-25
  • 2012-05-08
  • 2014-05-14
  • 1970-01-01
  • 2011-03-04
相关资源
最近更新 更多