HashMap is non-syncronized and is not thread safe while HashTable is thread safe and is synchronized.
HashMap allows one null key and values can be null whereas HashTable doesn't allow null key or value.
HashMap is faster than HashTable.
HashMap iterator is fail-safe where HashTable iterator is not fail-safe.
HashMap extends AbstractMap class where HashTable extends Dictionary class.