Quantcast
Channel: Difference between HashMap, LinkedHashMap and TreeMap - Stack Overflow
Viewing all articles
Browse latest Browse all 18

Answer by Basil Bourque for Difference between HashMap, LinkedHashMap and TreeMap

$
0
0

While there are plenty of excellent Answers here, I'd like to present my own table describing the various Map implementations bundled with Java 11.

We can see these differences listed on the table graphic:

  • HashMap is the general-purposeMap commonly used when you have no special needs.
  • LinkedHashMap extends HashMap, adding this behavior: Maintains an order, the order in which the entries were originally added. Altering the value for key-value entry does not alter its place in the order.
  • TreeMap too maintains an order, but uses either (a) the “natural” order, meaning the value of the compareTo method on the key objects defined on the Comparable interface, or (b) invokes a Comparator implementation you provide.
  • NULLs: TreeMap does not allow a NULL as the key, while HashMap& LinkedHashMap do.
    • All three allow NULL as the value.
  • HashTable is legacy, from Java 1. Supplanted by the ConcurrentHashMap class. Quoting the Javadoc: ConcurrentHashMap obeys the same functional specification as Hashtable, and includes versions of methods corresponding to each method of Hashtable.

Table listing attributes of the various implementations of <code>Map</code> bundled with Java 11.


Viewing all articles
Browse latest Browse all 18

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>