1.繼承不一樣數組
public class Hashtable extends Dictionary implements Map對象
public class HashMap extends AbstractMap implements Map繼承
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省狀況下是非同步的。get
3.Hashtable中,key和value都不容許出現null值同步
在HashMap中鍵能夠爲null。所以,在HashMap中不能由get()方法來判斷HashMap中是否存在某個鍵,而應該用containKey()方法來判斷。hash
4.內部實現上不一樣,Hashtable和HashMap都用了Iterator。而因爲歷史緣由,Hashtable還用了Enumeration的方法。io
5.哈希值得使用不一樣,Hashtable直接使用對象的hashCode,而HashMap從新計算hash值。table
6.Hashtable和HashMap它們兩個內部實現方式的數組初始大小和擴容方式。Hashtable中hash數組默認大小是11,增長方式是old*2+1,HashMap中hash數組的默認大小是16,並且必定是2的指數。class