트리(Red-Black tree) 를 이용한 체이닝 기법
•
기존의 체이닝 기법에서, 링크드 리스트 대신 탐색에 있어 더 높은 효율을 보이는 트리를 접목
•
충돌된 키-값 쌍의 데이터가 8개가 모이면 링크드 리스트를 트리로 변경하고, 6개로 줄면 다시 링크드 리스트로 변경한다.
해시 버킷 동적 확장
•
데이터의 크기에 비해 해시 테이블의 크기가 넉넉치 않으면 해시 충동 가능성이 높아져 성능 손실을 일으킨다.
따라서, 성능 상승을 위해 JAVA HashMap은 Key-value 데이터 개수가 일정 개수 이상이 되면, 해시 버킷의 수를 두배로 늘린다.
참고