자바 | ConcurrentHashMap의 # GET JDK8에서

. (1 개)   공용 V의 GET (개체 키) {
 2          노드 <K, V> [] 탭 상기 노드 <K, V> E, P, INT N-, EH; K EK]
 . 3           // 주소 
. 4          의 INT H = 키 스프레드 ( .hashCode ())
 . 5          IF ! ((TAB를 표) =  && (= N-tab.length)> 0 &&
 . 6              !. (E = tabAt (탭 (N-- 1) H)) = ) {
 . 7              // 해시 값과 헤드 노드의 해시 키는 동일한 키 콘텐츠가 알려져 있는지 여부를 결정하고, 동일하다 
. 8              IF ((EH = e.hash) == H) {
 . 9                  IF ((EK = e.key) == || 키 (EK! = null의 && key.equals (EK)))
 (10)                     반환 e.val]
 . 11              }
 12 인              // 노드 헤더의 해시 값 EH <0 블랙 트리 직접 저장 보는 경우 
13 것은              다른  IF (EH <0 )
 14                  리턴 (e.find P = (H, 키))! = null의 ? p.val : 널 (null) ;
 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