1、
map.put("3", "");
map.put("4", "");
map.put("1", "");
map.put("2", "");
2、
map.put("4", "");
map.put("3", "");
map.put("2", "");
map.put("1", "");
1和2改变了 put的顺序但是输出的顺序都是
4
2
1
3
感觉你理解的不对吧
计算机不是大自然,他的hash是按照一定算法来实现的,不是像你说的就大家都是以大堆,就是无序的。他必须有一个顺序,不然你怎么迭代输出,只是这个顺序是按照一定算法生成的,不是按照关键字的大小生成的。最简单的算法就是取模运算,比如都%2,这样所有偶数对于他来说是一样的,所有奇数对他来说也是一样的。根据模的不同,出来的顺序就不一样了。你这个测试什么也说明不了。只能说明,1,2,3,4他们没有冲突。
追问我知道是有顺序,就是想确定这个顺序是根据什么生成的,要有原理,有根据,才能去说服别人
追答那你就应该去查hashmap的hash算法。一般简单的就是取模。
但是java什么的肯定是比较复杂的算法。但是基本原理是取模。
你不查原理,我就不知道你来问什么了。