Linkedhashmap maintains the order during insertion, and treemap sorts the elements based on the key. hashmap is very casual.
Example
Map<Integer, Integer> map= new LinkedHashMap<Integer,Integer>();map.put(5, 6);map.put(3, 3);map.put(8, 1);for( Entry<Integer, Integer> entry: map.entrySet() ){System.out.println(entry.getKey() + " " + entry.getValue() );}
Output
5 63 38 1
For treemap
Map<Integer, Integer> map= new TreeMap<Integer,Integer>();map.put(5, 6);map.put(3, 3);map.put(8, 1);for( Entry<Integer, Integer> entry: map.entrySet() ){System.out.println(entry.getKey() + " " + entry.getValue() );}
Output
3 35 68 1
For hashmap,
Map<Integer, Integer> map= new HashMap<Integer,Integer>();map.put(5, 6);map.put(3, 3);map.put(8, 1);for( Entry<Integer, Integer> entry: map.entrySet() ){System.out.println(entry.getKey() + " " + entry.getValue() );}
Output
3 35 68 1
The output here is the same as that of treemap because there are too few elements, just coincidence.