为什么说HashMap的key是无序的,而TreeMap的是有序的
“有序”的误解
存在这个疑问的同学,一般都是经过测试,确定HashMap无论怎么插入,输出结果都是固定一个顺序,但是殊不知两个“有序”是不同含义的。
“有序”的正解
回到问题本身,它说的有序,是指数字从小到大,字符串按字典从左至右比较的顺序。
这里分别看两个Map的输出:
第一个例子是HashMap,这是我们误解的来源,我们无论按什么顺序插入,HashMap的输出key的顺序都是一样的,因为HashMap是按哈希码排序的。
但是我们看TreeMap,不仅输出顺序同样是固定的,而且还按某数字大小、字符串字典顺序输出了,到这里,我们就可以清楚理解标题的意思了。