gotchajavaCritical
Difference between HashMap, LinkedHashMap and TreeMap
Viewed 0 times
linkedhashmaptreemapandbetweendifferencehashmap
Problem
What is the difference between
I don't see any difference in the output as all the three has
Also, what are
HashMap, LinkedHashMap and TreeMap in Java?I don't see any difference in the output as all the three has
keySet and values.Also, what are
Hashtables?Map m1 = new HashMap<>();
m1.put("map", "HashMap");
m1.put("schildt", "java2");
m1.put("mathew", "Hyden");
m1.put("schildt", "java2s");
print(m1.keySet());
print(m1.values());
SortedMap sm = new TreeMap<>();
sm.put("map", "TreeMap");
sm.put("schildt", "java2");
sm.put("mathew", "Hyden");
sm.put("schildt", "java2s");
print(sm.keySet());
print(sm.values());
LinkedHashMap lm = new LinkedHashMap<>();
lm.put("map", "LinkedHashMap");
lm.put("schildt", "java2");
lm.put("mathew", "Hyden");
lm.put("schildt", "java2s");
print(lm.keySet());
print(lm.values());Solution
All three classes implement the
"Hashtable" is the generic name for hash-based maps. In the context of the Java API,
Map interface and offer mostly the same functionality. The most important difference is the order in which iteration through the entries will happen:HashMapmakes absolutely no guarantees about the iteration order. It can (and will) even change completely when new elements are added.
TreeMapwill iterate according to the "natural ordering" of the keys according to theircompareTo()method (or an externally suppliedComparator). Additionally, it implements theSortedMapinterface, which contains methods that depend on this sort order.
LinkedHashMapwill iterate in the order in which the entries were put into the map
"Hashtable" is the generic name for hash-based maps. In the context of the Java API,
Hashtable is an obsolete class from the days of Java 1.1 before the collections framework existed. It should not be used anymore, because its API is cluttered with obsolete methods that duplicate functionality, and its methods are synchronized (which can decrease performance and is generally useless). Use ConcurrentHashMap instead of Hashtable.Context
Stack Overflow Q#2889777, score: 1262
Revisions (0)
No revisions yet.