Open anuu0916 opened 1 year ago
Thread-safe 여부 Hashtable은 Thread-safe하고, HashMap은 Thread-safe하지 않다는 특징을 가지고 있습니다. 그렇기에 멀티스레드 환경이 아니라면 Hashtable은 HashMap 보다 성능이 떨어진다는 단점을 가지고 있습니다.
Null 값 허용 여부 Hashtable은 key에 null을 허용하지 않지만, HashMap은 key에 null을 허용합니다. Enumeration 여부 Hashtable은 not fail-fast Enumeration을 제공하지만, HashMap은 Enumeration을 제공하지 않습니다.
HashMap은 보조해시를 사용하기 때문에 보조 해시 함수를 사용하지 않는 Hashtable에 비하여 해시 충돌(hash collision)이 덜 발생할 수 있어 상대적으로 성능상 이점이 있습니다.
최근까지 Hashtable은 구현에 거의 변화가 없지만, HashMap은 현재까지도 지속적으로 개선되고 있습니다.
Java Collection Framework의 변화
참고 [Java]
Map을 구현한 클래스 : HashMap, HashTable, TreeMap 등등
Java에서 HashTable과 HashMap의 차이는 동기화 지원 여부이다. 키(Key)에 대한 해시(Hash)값을 사용하여 값을 저장, 조회 하는 것은 동일하다. 해시 테이블(Hash Table)
해시 맵(Hash Map)
https://hee96-story.tistory.com/48