簡體   English   中英

更改 scala mutable.HashMap 的默認容量/負載因子

[英]Change default capacity/load factor of scala mutable.HashMap

我目前使用的是 scala 2.9.1。 我創建一個 mutable.HashMap 使用:

> val m = mutable.HashMap.empty[Int, Int]

我是 scala 的新手。在 java 中,我能夠在 HashMap 的構造函數中指定容量和負載因子。我無法在 scala 中找到任何方法來做同樣的事情。

提前致謝

根據API,這似乎是不可能的。 一種解釋是強烈建議不要使用可變的 collections,而不可變的 collections 不需要默認容量信息,因為在構造時必須知道項目的數量。

但是,請注意,如果您通過許多可用的收集方法構造一個集合(包括可變和不可變的HashMap ),則 Scala 將隱式使用默認容量信息。 例如,如果您在map HashMap它將使用TraversableLike上定義的map (在下面轉載),您可以看到它向提供容量信息的構建器提供了“大小提示”。

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM