HashMap과 Hashtable은 모두 Map 인터페이스를 구현한 자료구조이지만, 차이점이 존재!!
1. 동기화(Synchronization):
Hashtable은 동기화되어 스레드 안전 자료구조, 여러 스레드가 동시에 Hashtable에 접근하더라도 내부적으로 동기화되어 안전한 작업을 보장
HashMap은 동기화되지 않아 스레드 안전성을 보장하지 않음, = HashMap은 단일 스레드 환경에서 사용하기에 적합.
2. Null 허용:
Hashtable은 키(key)와 값(value)으로 null을 허용하지 않음, Hashtable에 null을 넣으려고 하면 NullPointerException이 발생
HashMap은 키와 값 모두 null을 허용, HashMap이 더 유연하게 사용될 수 있음을 의미
3. 성능:
Hashtable은 동기화를 제공하기 때문에 멀티 스레드 환경에서 안전하지만, 동기화로 인해 성능이 느릴 수 있다.
HashMap은 동기화되지 않아 단일 스레드 환경에서 빠른 성능을 제공
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 HashMap 구현 원칙은 무엇일까? (0) | 2023.06.26 |
---|---|
📌 그렇다면 각각 어떤 상황에서 HashMap과 TreeMap을 선택하는가?! (0) | 2023.06.23 |
📌 List, Set, Map의 차이점은!? (0) | 2023.06.21 |
📌 Collection과 Collections의 차이는 무엇일까? (0) | 2023.06.20 |
📌 자바 컨테이너란 무엇일까? (0) | 2023.06.19 |