>  기사  >  Java  >  HashMap은 어떻게 작동하나요?

HashMap은 어떻게 작동하나요?

王林
王林앞으로
2020-02-11 18:05:352881검색

HashMap은 어떻게 작동하나요?

원칙은 다음과 같이 소개됩니다.

HashMap은 Hash 알고리즘을 기반으로 구현됩니다.

(온라인 학습 동영상 튜토리얼 공유: java 동영상 튜토리얼)

put(key, value) 메소드를 사용할 때 HashMap은 key.hashCode() 메소드를 기반으로 키의 해시 값을 얻은 다음 찾아냅니다. 해시 값 Bucket 위치를 기반으로 해당 값을 반환하며, 이 영역에 이미 요소가 있으면 또 다른 euqal() 비교가 수행됩니다. 두 값이 동일하면 HashMap이 동일한 키 값을 허용하지 않기 때문에 추가가 실패합니다. 동일하지 않으면 단순한 해시 충돌일 뿐입니다.

JDK1.8 이전에는 HashMap이 연결된 목록의 다음 노드에 이 요소를 저장했습니다. HashMap은 각 연결된 목록 노드에 키-값 쌍을 저장합니다. JDK1.8 이후 HashMap에서는 레드-블랙 트리를 추가했기 때문에 연결리스트 노드의 개수가 8개를 초과하면 연결리스트에서 레드-블랙 트리로 변환되고, 8개 미만이 되면 레드-블랙 트리로 변환된다. 레드-블랙 트리에서 다시 링크드 리스트로 변환됩니다.

추천 관련 기사 및 튜토리얼: 빠른 시작 Java

위 내용은 HashMap은 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제