HashMap、ConcurrentHashMapデータ構造、基本原理、ソースコード分析

  • HashMap

 

データ構造

JDK1.7 

HashMapは配列+リンクリストで構成され、配列はHashMapの本体であり、リンクリストは主にハッシュの競合を解決するために存在します。

 

JDK1.8

HashMapは、配列+リンクリスト/赤黒ツリーで構成されます。リンクリストの長さがしきい値(デフォルトは8)より大きい場合、リンクリストは赤黒ツリーに変換され、検索時間が短縮されます。

赤黒ツリーに変換された後も、リンクリストの構造は存在し、次の属性によって維持されます。赤黒ツリーノードは、操作時にリンクリストの構造を維持します。

基礎となる原則

 アクセスを実現するには?

  • プット

 

  • 取得する

 

  • nullキー

 

ソースコード分析

 

  • ConcurrentHashMap

 

データ構造

 

基礎となる原則

 

ソースコード分析

 

おすすめ

転載: www.cnblogs.com/scorpio-cat/p/12680487.html