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
解决方案 »
- java.nio 今天刚做个了nio的小demo 发现传输速度特别慢......如何解决。。那位高手指点下。只是传输byte【】过去
- 我想用正则表达式读取Html文件中的URL该怎么实现?
- 简单问题,关于控制台输入输出?
- 为什么提示,不能读?
- 请看看这个小问题,怎么加到包路径就不对了?
- jdk1.2.1 和jdk1.4有什么区别
- 怪事,我用JDBC联接到MSSQL时 ,怎么联都不成功!后来听朋友说“JDK不能驱动 MSSQL”,要去下载MS 的那个JDBC,天哦,叫我去那里载呀!(这
- 有谁知道java如何实现结构体吗?
- 兄弟们:我想不通:为什么微软的CLR就是比JVM快那么多?真是见鬼了!是因为微软没有公开WINDOWS的源代码吗?那为什么在UNIX上,JVM一样的
- EditPlus配置java环境
- 读取配置文件路径的方法
- 很诡异的 中问乱码 啊.......不知道怎么办才好啊!
如果你要保持一致,使用实现了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>