JAVA

해시(Hash) & 해시셋(HashSet) & 해시맵(HashMap)

짱닭 2020. 6. 28. 16:47
반응형

해시(Hash) 

- 임의의 크기 데이터를 고정크기 데이터로 변환하는 것(해싱)

 

HashTable

- Key 값을 해시 함수로 계산(해싱)해서 배열의 인덱스를 저장

- 데이터가 저장되는 공간을 "버킷", "슬롯" 이라 함

- 키 전체 개수와 깉은 크기의 버킷을 가진 테이블을 Direct-adress table 이라 함

(충돌이 일어나지 않지만 공간 효율성 하락)

 

HashTable과 HashMap 공통점

- 내부적으로 H ash 공법 사용

- Map 인터페이스 구현

- Key 와 Value 값 가짐

 

차이점

HashTable

- 동기화 보장 O

 

HashMap

- 동기화 보장 X

 

HashSet

- 내부적으로 Hash 공법 사용하지만, Set인터페이스 구현(중복 X)

반응형