2012-04-03 2 views
1

자바 해시 맵에서 정확한 버킷을 찾는 순서는 무엇입니까 ??자바 해시 맵에서 올바른 버킷을 찾는 순서

hashmap에서 첫 번째 버킷은 hashcode 메서드를 사용하여 위치를 확인한 다음 equals 메서드를 사용하여 반복합니다. 따라서 내 질문은 첫 번째 부분에서 원하는 키가있는 버킷을 찾는 복잡성이 무엇입니까?

+2

여기에서 모든 답변을 찾을 수 있습니다. http://en.wikipedia.org/wiki/Hash_table (java HashMap은 "별도의 연결"을 사용함). – jtahlborn

답변

1

버킷을 조회하는 것은 O (1)입니다. 해시 맵은 해시 코드를 계산하고이를 사용하여 버킷 슬롯에 색인을 생성합니다.

0

이 구현은 해시 함수가 버킷간에 요소를 적절하게 분산 시킨다는 가정하에 기본 연산 (get 및 put)에 일정 시간 성능을 제공합니다. 콜렉션 뷰의 반복에는, HashMap 인스턴스의 「capacity」(버킷의 수)에 그 크기 (키와 값의 매핑의 수)를 더한 시간이 필요합니다. 따라서 반복 성능이 중요 할 경우 초기 용량을 너무 높게 설정하지 않거나 너무 낮게 설정하는 것이 중요합니다.

+2

"일정 시간"성능을 제공하지 않으며 "상각 된 일정 시간"성능을 제공합니다. – jtahlborn

관련 문제