Languages/Java
[Java] HashMap, HashTable, HashSet
이예인
2023. 4. 12. 13:05
HashMap
- Map 인터페이스를 구현하는 클래스이다.
- key-value 쌍으로 데이터를 저장한다.
- 키는 중복될 수 없다.
- 동일한 키를 가진 값을 추가하려고 하면, 기존 값이 새 값으로 대체된다.
- key와 value에 대해 null을 허용한다.
- 동기화되지 않는다. 속도가 빠르다.
HashTable
- Map 인터페이스를 구현하는 클래스이다.
- key-value 쌍으로 데이터를 저장한다.
- 키는 중복될 수 없다.
- 동일한 키를 가진 값을 추가하려고 하면, 기존 값이 새 값으로 대체된다.
- key와 value에 대해 null을 허용하지 않는다.
- 동기화가 된다. thread-safe하다. 속도가 느리다.
HashSet
- Set 인터페이스를 구현하는 클래스이다.
- 중복을 허용하지 않는다.
- null을 허용한다.
- 내부적으로 HashMap을 기반으로 저장한다.
- HashSet의 각 원소는 HashMap의 key로 저장되며, value는 dummy이다.
'Languages/Java' Related Articles