java 的 HashMap输出顺序的问题

Map<String,String>map2=newHashMap<String,String>();map2.put("aa","apple");map2.put("b... Map<String,String> map2 = new HashMap<String,String>();
map2.put("aa", "apple");
map2.put("bb", "banana");
map2.put("ff","pear");
map2.put("dd","son");
map2.put("cc","son");
map2.put("a", "apple");
map2.put("b", "banana");
map2.put("g", "pear");
map2.put("e", "eloear");
map2.put("b", "banana");
map2.put("f", "banana");
map2.put("a", "oooooe");
map2.put("c", "chinooe");
for (Iterator<String> it = map2.keySet().iterator();it.hasNext();)
{
Object key = it.next();
System.out.println( key+"="+ map2.get(key));
}

----------------------------------------------------
输出为什么是这样的:
cc=son
dd=son
ff=pear
bb=banana
aa=apple
a=oooooe
b=banana
c=chinooe
e=eloear
f=banana
g=pear

为什么 双字符的是先进后出,单字符的是先进先出呢????
展开
 我来答
261667318
2014-08-26 · TA获得超过898个赞
知道小有建树答主
回答量:680
采纳率:100%
帮助的人:631万
展开全部
额。。我记得早上我回答过了呀。。 HashMap输出的无序的,因为哈希算法存值和取值的时候没有顺序性。 想做到先进先出,之类的顺序。要用 LinkedHashMap 或TreeMap
追问
为什么 双字符的是先进后出,单字符的是先进先出呢????
追答

都说了hashMap是无序的,你看在我机器上输出顺序就变成了这样:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式