본문 바로가기

Languages/Java

[Java] HashMap, HashTable, HashSet

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' 카테고리의 다른 글

WeakHashMap과 약한 참조  (0) 2023.08.31
예외처리  (0) 2023.05.24
Primitive Type, Reference Type  (0) 2023.04.25
JVM과 GC  (0) 2023.04.12
Object Mapper  (0) 2023.04.07