关于向HashMap存放数据出现顺序混乱的问题

Posted huchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于向HashMap存放数据出现顺序混乱的问题相关的知识,希望对你有一定的参考价值。

      在开发中需要用到了向Map中遍历存放一些时间日期的操作,dmo如下

技术分享图片

测试的时间是2018.12.15,这个demo的原意是想获取从今天起的前三十天的所有日期(包括今天),然后存在“map”这个HashMap中,最后打印出来 理论上应该是20181215  20181214  20181213 20181212.....这样一天天往回倒过去

但实际结果是。。。:

技术分享图片

完全不是按照顺序的,这是因为hashMap是不会保证你存放时的顺序的,解决方案是,将hashmap替换为linkedhaspmap

技术分享图片

结果为:

技术分享图片

也可以使用treemap,但是打印出来的结果是正好反着的:

技术分享图片

技术分享图片

 

以上是关于关于向HashMap存放数据出现顺序混乱的问题的主要内容,如果未能解决你的问题,请参考以下文章

HashMap为啥比数组查询速度快?

LinkedHashMap源码分析

HashMap ConcurrentHashMap解读

深入理解HashMap和CurrentHashMap

HashMap中通过keySet遍历的顺序

HashMap(数组+链表+红黑树)