JDK8下のConcurrentHashMap#GET |ジャワ

1つの  公共VのGET(キーオブジェクト){
 2          ノード<K、V> []タブ、ノード<K、V> E、P; INT N-、EH; K EK;
 3           // アドレス
4          INT H = スプレッド(キー.hashCode());
 5          IF((タブ=表)!= NULL &&(= N-tab.length)> 0 &&
 6。              (E = tabAt(タブ、(N - 1)&H))!= NULL ){
 7              // ハッシュ値と、ヘッドノードのハッシュキーが同じで、同じキーコンテンツが既知か否かが判定される
。8              IF((EH = e.hash)== H){
 9                  IF((EK = e.key)== ||キー(EK!= nullの && key.equals(EK)))
 10                     戻りe.val;
 11              }
 12である             // 直接格納<0ブラックツリーが見てEHノードヘッダのハッシュ値が場合
13である              IF(EH <0 14                  リターン!(e.find P =(H、KEY))= NULL?p.val:ヌル;
 15              // リスト見つける
16              しばらく(!(E = e.next)= nullを{)
 17                  IF(e.hash && == H
 18                      ((EK = e.key)==キー| |(EK =!ヌル && key.equals(EK))))
 19。                     リターンe.val;
 20              }
 21れます         }
 22          リターン ヌル23      }

 

おすすめ

転載: www.cnblogs.com/jj81/p/11480056.html