我目前正在使用scala 2.9.1.我创建一个mutable.HashMap使用:
> val m = mutable.HashMap.empty[Int, Int]
Run Code Online (Sandbox Code Playgroud)
我对斯卡拉有点新意.在java中,我能够在HashMap的构造函数中指定容量和加载因子.我无法找到任何方法在scala中做同样的事情.
提前致谢
根据API,这似乎不可能.一种解释是强烈建议不要使用可变集合,并且不可变集合不需要默认容量信息,因为在构造时必须知道项目数.
但是,请注意,如果HashMap通过许多可用的集合方法构造集合(包括可变和不可变),Scala将隐式使用默认容量信息.例如,如果你调用mapa HashMap,它将使用mapdefined on TraversableLike(在下面重现),你可以看到它为提供容量信息的构建器提供了"大小提示".
def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That = {
val b = bf(repr)
b.sizeHint(this)
for (x <- this) b += f(x)
b.result
}
Run Code Online (Sandbox Code Playgroud)