Difference between HashMap and HashTable in Java.

  • 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.