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)
반응형