ハッシュテーブルとハッシュアルゴリズムの競合


ハッシュテーブル(K、v)がアレイは、対応するハッシュアルゴリズムキー添字によれば、上付き戻り値が格納されているVアレイである
ハッシュアルゴリズム:F(K) - >配列V intを格納する必要があります標準的な
ハッシュアルゴリズム:16%
検索、要素を追加:O(1)

ハッシュ衝突溶液:
等しい2つの異なるオブジェクトであるハッシュ値を計算されたハッシュアルゴリズム
EG :. 1 17%16%16 ==
、オープンアドレス指定可能な
次の配列インデックスがnullであり、競合記憶素子後見つける

B、ハッシュに含ま
もう一度再計算異なるハッシュアルゴリズムを用いて

ハッシュマップは、このメソッドを使用する:Cは、チェーンアドレス方式(方式ジッパー)ハッシュ衝突を解決するため
に格納されたリストに従って競合のすべての要素を
O(N + 1)
のHashMap許可キーは、値がヌルである
ハッシュテーブル、キー値が空ポインタ例外にすることはできませんで
のTreeMapは、ソートを実現する必要があるため、それは空のキーことができない、値とすることができますヌル・ポインタ例外


:スレッドの安全性データと
のHashMap、TreeMapの非同期処理を使用して、スレッドセーフな、高性能
同期同期方法、スレッドセーフな、低いパフォーマンスを使用してハッシュテーブル(排他的読み取り、全体のハッシュテーブルをロック)

内部所属します
負荷率loadFactor、デフォルト0.75F
実際の容量int型のしきい値
ツリーしきい値INT TREEIFY - THRESHOLD = 8
解除閾値ツリーUN = 6
ときHashMapのハッシュテーブルが初期化されて初めて、遅延ロード戦略を入れて使用して


7.HashMapソースはパース(負荷率、木の戦略を内部ハッシュが実現、戦略のサイズを変更...)
8.ConcurrentHashMapは、効率的にスレッドセーフを実装する方法ですか?
差9.ConcurrentHashMapのjdk1.7とjdk1.8

6.HashMap、TreeMapの、差ハッシュテーブルの関係
、三つのクラスは、赤黒木の実装に基づいて、地図インタフェース、単語、認識に基づくハッシュテーブル、ハッシュテーブル、TreeMapのに使用され、HashMapのハッシュテーブルベースのブラックツリー+

おすすめ

転載: www.cnblogs.com/hetaoyuan/p/11241820.html