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()方法。