1. Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现;
2. Hashtable的方法是同步的,而HashMap的方法不是。
3. HashMap允许空键值,而HashTable不允许。只有HashMap可以让你将空值作为一个表的条目的key或value。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。如果有必要,用containKey()方法来区别这两种情况。
HashMap去掉了Hashtable 的contains方法,但是加上了containsValue()和containsKey()方法。