Sự khác nhau giữa HashMap và Hashtable

tải

HashMap và Hashtable đều được sử dụng để lưu trữ dữ liệu ở dạng cặp key và value. Cả hai đều đang sử dụng kỹ thuật băm để lưu trữ các khóa duy nhất.

Nhưng có nhiều sự khác nhau giữa HashMap và Hashtable được đưa ra dưới đây.

HashMapHashtable
1) HashMap cho phép một key là null và nhiều giá trị null.Hashtable không cho phép bất kỳ key hoặc giá trị null.
2) HashMap không đồng bộ.Hashtable là đồng bộ.
3) HashMap là một lớp mới được giới thiệu trong JDK 1.2.Hashtable là một lớp legacy.
4) HashMap nhanh.Hashtable chậm.
5) Chúng ta có thể làm cho HashMap đồng bộ bằng cách gọi phương thức:
Map m = Collections.synchronizedMap(hashMap);
Hashtable được đồng bộ nội bộ và không thể hủy đồng bộ hóa.
6) HashMap được duyệt bởi Iterator.Hashtable được duyệt bởi Enumerator và Iterator.
7) Iterator trong HashMap là fail-fast.Enumerator trong Hashtable là không fail-fast.
8) HashMap kế thừa lớp AbstractMap.Hashtable kế thừa lớp Dictionary.

Trả lời