8

私は現在scala2.9.1を使用しています。を使用してmutable.HashMapを作成します:

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

私はscalaに少し慣れていません。Javaでは、HashMapのコンストラクターで容量と負荷率を指定することができました。私はscalaで同じことをする方法を見つけることができません。

前もって感謝します

4

1 に答える 1

5

APIによると、これは不可能のようです。1つの説明は、可変コレクションは強く推奨されておらず、不変コレクションは、構築時にアイテムの数を知っている必要があるため、デフォルトの容量情報を必要としないということです。

ただし、HashMap利用可能な多くのコレクションメソッドを介してコレクション(可変および不変を含む)を構築する場合、Scalaは暗黙的にデフォルトの容量情報を使用することに注意してください。たとえば、を呼び出すmapと、定義されたon (以下に再現)HashMapが使用され、その容量情報を提供するビルダーに「サイズのヒント」が提供されることがわかります。mapTraversableLike

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
}
于 2012-04-08T14:38:58.830 に答える