사진의 HashMap의 구성을 이해
주로 Node 형의 배열, 연결리스트, 레드 - 블랙 트리 조성물 해시 맵. 요소 목록 여덟 개 레드 - 블랙 트리가 저장된 사용할 경우 도면에서 알 수있는 바와 같이, 노드 어레이에 저장 개체는 각 노드 오브젝트는,리스트와 연관된다.
약 2 전원
배열 길이 -1 노드 소자 어레이에서의 위치를 결정하기위한 모듈로 해쉬 값을 이용하여.
tab[i = (n - 1) & hash]
复制代码
소스 코드의 목적은 이렇게하는
모듈 2 -1 방식의 전원을 사용하는 단어에 배열 된 공간을 사용하여, 상기 어레이의 요소들의 균일 한 분포를 허용한다.
기본 아이디어
n은 어레이의 길이 값은 2의 n 승이다.
N = 8, 해시 = 0,100,010,001,100 가정
다음과 같이 (N-1) 해시 계산된다 :
0100010001100 //hashcode的值
& 0111 //(8-1)=7的二进制代码
0100 //相&之后的值
复制代码
당신은 해시 값을 찾을 수 있습니다 0100010001100
, 위상 및 이후 값 0100
그렇게 좋은 동일한 다시 세 값은, 해시 낮은 값을 얻는 것입니다.
개요
해시 배열의 요소의 위치를 결정하는 단계에서 얻어진 낮은 값은, 해시 어레이의 활용을 향상시키는 것이다.