网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 时尚美容

如何实现hashmap的顺序存储

时间:2024-10-12 17:03:50

1、启动Eclipse开发工具,添加HashMap的测试用例,创建HashMap对象并且向其中添加数据,最后打印HashMap内部的数据,可以看出HashMap取出的数据顺序已经完全乱序

如何实现hashmap的顺序存储

3、点击LinkedHa衡痕贤伎shMap查看其源代码会发现LinkedHashMap本身就是继承自HashMap,因而HashMap的功能它都会提惚改刮擗供,接着查看它的构造方法可以看到其中有一个accessorder也就是访问顺序变量

如何实现hashmap的顺序存储

4、前面使用LinkedHashMap默认构造方法实际上accessOrder为false,也就是按照保存顺序,保存之后用户访问并不会改变数据保存的顺序,使用如图的代码在放入数据后访问一下,结果数据还是保持保存顺序不变

如何实现hashmap的顺序存储

6、LinkedHashMap里面保存的数据都使用了双向链表来保存,保存时会按照保存顺序设置链表节点的before和after引用值,访问的时候按照after索引值查找后续节点保证了内部数据的顺序性

如何实现hashmap的顺序存储如何实现hashmap的顺序存储
© 小知经验