提示:我们在学习LinkedHashMap中的构造方法过程中,总是避不开accessOrder(排序模式)的分析,在学习过程中发现有不少网上的解释看着都晦涩难懂,有的很好理解,但是与实际自己操作结果不同,还有一些文章上的结果与自己操作的结果相同,但是实现的思路大相径庭,纠结于到底这个排序模式是个什么意思,自己专门去分析了一下,下面先放代码,看看到底是什么意思:
代码演示:
在true的情况下,我们知道put时,刚开始,是一个一个往双链表的头部插入(头插法),当达到容量的阈值数时,会去扩容,get时,如果有就把这个数放到头结点的后面,这样在上面的操作完成后
结构如下:
head<---->a<---->e<---->c<---->b<---->tail
输出时按照插入时的顺序放入则为bcea
同样的put和get,当排序模式改为false时,结果会是什么?abce?再看一张图
哎ÿ