一、线程安全性
HashMap非线程安全
HashTable线程安全,用synchronized锁资源
二、是否允许null
HashMap允许null值null key
HashTable不允许null值,key不判断是否为null,但是在null时会抛出空指针异常,因为put方法内部直接使用了key.hashCode()
三、继承
public class HashMap extends AbstractMap
implements Map, Cloneable, Serializable
public class Hashtable extends Dictionary
implements Map, Cloneable, java.io.Serializable
四、索引计算不同