1、继承父类不同:HashMap继承了AbstratMap类,都实现了Map接口
Hashtable继承的Dictionary类
2、线程安全性不同:HashMap在多线程环境下线程不安全,Hashtable线程安全,如果要使用HashMap的话就可以使用concurrent并发包下的concurrentHashMap
3、扩容方式不同:HashMap的扩容方式都是以2的幂次进行扩容的,而Hashtable是以原容量的2倍+1进行扩容的
4、计算Hash值的方式也不同
5、是否允许为null,HashMap允许存储null值,Hashtable不允许存储null值,否则会报控制指针
6、是否包含contains方法:HashMap不包含contains方法,Hashtable不包含contains方法。