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
这里的输出和TreeMap一致,是因为元素太少了,巧合而已。