Home > DeveloperSection > Forums > Differences between HashMap and Hashtable?
Ankit Singh

Total Post:341

Points:2389
Posted on    May-03-2015 11:57 PM

 Java Java  Hashtable 
Ratings:


 1 Reply(s)
 442  View(s)
Rate this:
\What are the differences between a HashMap and a Hashtable in Java?

Which is more efficient for non-threaded applications?


Mayank Tripathi
Mayank Tripathi

Total Post:397

Points:3117
Supported
Posted on    May-04-2015 12:19 AM

There are several differences between HashMap and Hashtable in Java:

Hashtable is synchronized, whereas HashMap is not. This makes HashMap better for non-threaded applications, as unsynchronized Objects typically perform better than synchronized ones.

Hashtable does not allow null keys or values.  HashMap allows one null key and any number of null values.

One of HashMap's subclasses is LinkedHashMap, so in the event that you'd want predictable iteration order (which is insertion order by default), you could easily swap out the HashMap for a LinkedHashMap. This wouldn't be as easy if you were using Hashtable.

Since synchronization is not an issue for you, I'd recommend HashMap. If synchronization becomes an issue, you may also look at ConcurrentHashMap.

Don't want to miss updates? Please click the below button!

Follow MindStick