HashMapの詳細な分析

基礎となるデータ構造

1.7 +配列リスト

思考:なぜ二重にリンクされたリスト

 

赤黒木+リストの1.8+配列+

 

いくつかの重要な変数

// デフォルトの初期容量16 
静的最終int型 DEFAULT_INITIAL_CAPACITY = 1。 << 4に。; 
 // 容量最大の
静的最終int型 MAXIMUM_CAPACITY = 1。 << 30 ;
 // デフォルトの負荷係数0.75 
静的ファイナルAフロート = DEFAULT_LOAD_FACTOR 0.75F ;
 // のツリータブは8つのノードのリストよりも大きい場合、閾値は、リストは、赤黒木に変換される
静的最終int型の TREEIFY_THRESHOLD = 8 ;
 // 、場合しきい値として赤黒木リスト縮退、及びバケットは以下赤黒木6ノード以下である場合リンクリストに赤黒木
静的最終int型= UNTREEIFY_THRESHOLD 6。;
 // 最小木の容量、時間の木、及び決定された後、キー値変換の数だけが64よりも大きい場合が発生する、
 // これは、ハッシュテーブルの早期確立を回避することで、複数キーと値のペアは、単に不必要にリスト変換及び鉛で配置されて
静的最終int型 MIN_TREEIFY_CAPACITY = 64

 


継続的な~~~

 

参考:https://blog.csdn.net/samniwu/article/details/90550196

おすすめ

転載: www.cnblogs.com/amberJava/p/12514810.html