Well, Hashtable is synchronized, whereas
HashMap is not.this makes HashMap better for non-threaded applications, as unsynchronized objects typically perform better than synchronized ones.
and also hashtable does not allow null keys or values. hashMap allows one null key and any number of null values.
Both HashTable and HashMap implements Map interface but there are some differences between these two. They are:
Thread Safety (synchronized)