의문점 공부하기/📌 Java

📌 HashMap과 Hashtable의 차이는?!

아리빠 2023. 6. 22. 12:48

HashMap과 Hashtable은 모두 Map 인터페이스를 구현한 자료구조이지만, 차이점이 존재!!

 

 

1. 동기화(Synchronization): 

Hashtable은 동기화되어 스레드 안전 자료구조, 여러 스레드가 동시에 Hashtable에 접근하더라도 내부적으로 동기화되어 안전한 작업을 보장

 

HashMap은 동기화되지 않아 스레드 안전성을 보장하지 않음, = HashMap은 단일 스레드 환경에서 사용하기에 적합.


2. Null 허용:

Hashtable은 키(key)와 값(value)으로 null을 허용하지 않음,  Hashtable에 null을 넣으려고 하면 NullPointerException이 발생

 

HashMap은 키와 값 모두 null을 허용,  HashMap이 더 유연하게 사용될 수 있음을 의미


3. 성능:

Hashtable은 동기화를 제공하기 때문에 멀티 스레드 환경에서 안전하지만, 동기화로 인해 성능이 느릴 수 있다.

 

HashMap은 동기화되지 않아 단일 스레드 환경에서 빠른 성능을 제공