一个map的奇怪现象,看有没有人知道原因 map hashmap 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 map是无序的,不是按你put的顺序来的 那或许是凑巧吧,我增加了数据量后确实是无序的Map map = new HashMap(); map.put(1, "1");map.put(4, "4"); map.put(2, "2");map.put(3, "3"); map.put(12, "12");map.put(23, "23"); map.put(52, "52");map.put(13, "13"); map.put(25, "25");map.put(33, "33"); Set set = map.keySet(); for(Object obj:set){ System.out.println(obj); }执行结果:1233342352251213 LinkedHashMap 可以实现有序 用一个hashMap 一个list实现的 set map是无序的数据少,有规律可能会有序输出,多就不行了。 HashMap是按照hashCode值进行排列的,所以出现1,2,3,4.如果将map的实现改成LinkedHashMap,那就按照你放入的顺序输出了 map存储不是根据put的顺序来的,存储的情况相当一个堆栈,你这个是个巧合。 struts2+hibernate3异常:Cannot release connection 其实是个小问题。。求解决 急!!菜鸟问题,java如何从键盘上输入字符串! 多线程并发问题 关于初始化顺序的问题 各位我是一个新人 应该怎么学JAVA? 如何能尽快上手 请问这个程序是在实现什么? 不是构造器,为什么这里会自动的返回值呢? 请教高手,关于logic:iterate中取链接值的问题? 如何定义文本框的大小 这个集合中的remove为什么不成功? 这个问题出在哪啊?求各位高手帮忙分析分析
map.put(1, "1");map.put(4, "4");
map.put(2, "2");map.put(3, "3");
map.put(12, "12");map.put(23, "23");
map.put(52, "52");map.put(13, "13");
map.put(25, "25");map.put(33, "33");
Set set = map.keySet();
for(Object obj:set){
System.out.println(obj);
}
执行结果:
1
2
33
3
4
23
52
25
12
13