HashMap實現了Map接口,HashTable是Dictionary的子類;
主要區別有以下三點:
1.HashMap允許空的鍵值,也就是說 key 可以為 null(只能有一個key為null),而HashTable不可以;
2.HashMap不同步的,在多線程訪問時,需要為它的方法實現同步Synchronize,而HashTable的方法是同步的;
由於線程不安全,HashMap的效率可能會高於HashTable;
HashMap的同步問題可通過Collections的一個靜態方法得到解決:Map Collections.synchronizedMap(Map m);
3.HashTable中的contains 方法在HashMap中變成了containsValue和containsKey。