본문 바로가기
JAVA

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

by 짱닭 2020. 6. 28.
반응형

해시(Hash) 

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

 

HashTable

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

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

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

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

 

HashTable과 HashMap 공통점

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

- Map 인터페이스 구현

- Key 와 Value 값 가짐

 

차이점

HashTable

- 동기화 보장 O

 

HashMap

- 동기화 보장 X

 

HashSet

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

반응형

'JAVA' 카테고리의 다른 글

ORM(Object-Relational Mapping), JPA(Java Persistence API)  (0) 2020.06.28
JAVA SE 와 JAVA EE  (0) 2020.06.25
String, String Buffer, String Builder 비교  (0) 2020.06.08
스레드 (Thread)  (0) 2020.06.08

댓글