2017-09-12 11 views
2

ハッシュマップにはデフォルトの負荷係数0.75があり、それを変更する方法を知りたい場合は、ハッシュマップの負荷係数を変更する方法

ロード・ファクトリーを設定して使用できる方法はありますか。私は100kのレコードを持っていますし、何度も再ハッシュしたくないので、再ハッシングをせずに効率的に動作できるように負荷率を変更したいと思います。

+0

あなたはJavadocを相談して考えがあります偉大な詳細情報を提供してきましたか? – EJP

答えて

3

あなたは、マップを作成した後が最もあなたはyはdoc状態としてその

用に定義されたコンストラクタを使用することができますを変更することはできません。

public HashMap(int initialCapacity, float loadFactor) 

はで空のHashMapを作成します指定された初期容量と負荷率。続き

Map<String, String> x = new HashMap<>(10, 0.85f); 
0

あなたを助けるために3つの便利なコンストラクタです。それを賢明に使ってください:)。詳細情報here

HashMap() 

は、デフォルトの初期容量(16)とデフォルトの負荷係数(0.75)で空のHashMapを作成します。


HashMap(int initialCapacity) 

指定された初期容量とデフォルトの負荷係数(0.75)で空のHashMapを作成。


HashMap(int initialCapacity, float loadFactor) 

指定された初期容量と負荷係数で空のHashMapを作成します。

@Xoceが述べたように、後でloadFactorを変更することはできません、私はこの上 で彼を同意しません。ハッシュマップを作成するときにそれを使用します。

@NPEはここにおよそsignificance of loadfactor.

+0

ArrayListでもできます。 offcourseではなくハッシュですが、arraylistはarraylistのサイズを増やすためにloadFactorを使用します。 – shiv

+0

これはarrayListの初期容量です。私はarrayListでloadfactorの使用を聞いたことがありません。 loadfactorはハッシュと関連しているので、ハッシュマップです。 – nagendra547

+0

ああ、申し訳ありません私は完全に忘れてしまった – shiv

関連する問題