As specified in JDK documentation, Hashtable does not allow null keys or values. HashMap allows one null key and any number of null values. Why is this?
As specified in JDK documentation, Hashtable does not allow null keys or values. HashMap
Share
Hashtable is the older class, and its use is generally discouraged. Perhaps they saw the need for a null key, and more importantly – null values, and added it in the HashMap implementation.
HashMap is newer, and has more advanced capabilities, which are basically just an improvement on the Hashtable functionality. When HashMap was created, it was specifically designed to handle null values as keys and handles them as a special case.
Edit
From
HashtableJavaDoc:Since
nullisn’t an object, you can’t call.equals()or.hashCode()on it, so theHashtablecan’t compute a hash to use it as a key.