Map map=new HashMap();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
Iterator it=map.keySet().iterator();
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);
System.out.println("key is "+key+" ,value is "+value);
}
这里的结果为什么显示的key is 2 ,value is b 而不是1-2-3的顺序?
key is 1 ,value is a
key is 3 ,value is c
如果你要保持一致,使用实现了SortedMap接口的几个map类。常用的是TreeMap
对于内存的分配来说是很好的。
不像数组一定要连续的内存空间
往Map里放<key,value>时,要根据key用一个Hash函数计算一个空的地址,然后把<key,value>放进去,所以实际的放的位置和放进去的顺序没有关系.只和key有关系.HashMap本来就不重视key的顺序.如果你注重key的顺序,你可以用TreeMap
先构造一个HashMap。
然后使用TreeMap。构造方法见API文档。
ArrayList 是有序的
只有数组是有序的!要想按照添加顺序输出可以用 LinkedHashMap
如果你要保证顺序
请用TreeMap和LinkedHashMap
而且推荐你用泛型(1.5以后)
LinkedHashMap<Integer, String>