의문점 공부하기/📌 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은 동기화되지 않아 단일 스레드 환경에서 빠른 성능을 제공