LinkedHashMap会保持插入时的顺序,而TreeMap会根据键(key)对元素进行排序,HashMap就很随意了。
示例
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() ); }
此时输出
5 6 3 3 8 1
如果是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() ); }
此时输出
3 3 5 6 8 1
如果是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() ); }
此时输出
3 3 5 6 8 1