HashMap allows a single null key and multiple null values. TreeMap does not allow null keys but can have multiple null values . HashMap allows heterogeneous elements because it does not perform sorting on keys. TreeMap allows homogeneous values as a key because of sorting.