1

ScalaでHashSetの初期容量と負荷率を初期化する簡単な方法はありますか? Java では非常に簡単です。たとえば、次のようになります。

public HashSet set = new HashSet(1 << 8, 0.6f)

Scalaにこれに相当するものがあるかどうか知りたいです。

また、単に java.util.HashSet をインポートするだけで、代わりに Java の HashSet を簡単に使用できることも知っていますが、scala.collection.immutable.HashSet でも同じことが可能かどうかに興味があります。

編集。Scala API と HashSet のソース コードを確認しましたが、有用なものは見つかりませんでした。

4

1 に答える 1

4

Hashsets には、scala に 2 つの欠陥があります。

mutable.HashSetJava にかなり似HashSetており、 現在のテーブルのサイズを変更するために任意の (たとえば空の) コレクションで使用できるsizeHintメソッドがあります。

immutable.HashSetはアプローチが異なります。これは、ハッシュ テーブルの代わりにハッシュ トライアルゴリズムを介して実装されるため、JimH が言及したようなメソッドは意味がありません。sizeHint

于 2015-10-30T20:25:28.250 に答える