java HashMap中元素的排列顺序问题

HashMap中元素的排列顺序是不固定的,但下面的代码运行后怎么是固定顺序啊???????importjava.util.*;importjava.io.*;public... HashMap中元素的排列顺序是不固定的,但下面的代码运行后怎么是固定顺序啊???????
import java.util.*;
import java.io.*;
public class HashMapDemo
{
public static void main(String args[])
{
HashMap hm=new HashMap();
//put(V key,K value) 向Map容器添加一个键值对

hm.put(new Integer(3),"C");
hm.put(new Integer(4),"D");
hm.put(new Integer(5),"E");
hm.put(new Integer(1),"A");
hm.put(new Integer(2),"B");

Set s=hm.keySet(); //获得hm的键的集合
Iterator i=s.iterator();
while(i.hasNext())
{
Object k=i.next();
Object v=hm.get(k); //取得键值所对应的值
System.out.print(" "+k+"="+v);
}
}
}
运行结果: 1=A 2=B 3=C 4=D 5=E
展开
 我来答
百度网友29f6bbc
2013-12-03
知道答主
回答量:22
采纳率:0%
帮助的人:26.1万
展开全部
说随机也没错,但是随即也是有一定规则的;
简单地说:他是根据key.hashCode(key你存的键)来确定他的存储位置,这时存在数组里;
如果多个key相等,那么还是存储这个位置;
那这样上个key不是被覆盖了?
当然没有,虽然还是这个位置,但是她存的是一个链;也就是说如果发生”冲突“(key.hashcode相同),数组里存的是一个链(key1》key2》key3);

只能大致说成这样,要是说清楚hashmap的内部实现都够斜坡一篇文章了;
中原欣欣然
2013-12-03 · 贡献了超过107个回答
知道答主
回答量:107
采纳率:0%
帮助的人:31.3万
展开全部
这是偶然的,你用稍微复杂的数据测一下,肯定是无序的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果味唯7
2013-12-03
知道答主
回答量:16
采纳率:0%
帮助的人:4.5万
展开全部
你用list就是固定的噻
追问
我意思是问为什么我用HashMap方法结果却是有顺序输出的?
追答
楼上说得没错,你只有去具体看看他的算法才知道他内部是怎么排列的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式