/**
* There are several differences between HashMap and Hashtable in Java:
*
* 1) Hashtable is synchronized, whereas HashMap is not. This makes
* HashMap better for non-threaded applications, as unsynchronized
* Objects typically perform better than synchronized ones.
*
* 2) Hashtable does not allow null keys or values. HashMap allows one
* null key and any number of null values.
*
* 3) 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.
*/