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

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

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

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

