LinkedHashMap 原理

Posted by icoding168 on 2020-03-27 04:30:25

分类: Java   数据结构和算法  

LinkedHashMap 继承了 HashMap,并且 LinkedHashMap 的 Entry 也继承了 HashMap 里面的 Entry,并增加了 before 和 after 两个属性,也就是说 LinkedHashMap 是把 HashMap 的单向链表改成了双向链表来用。

因为 HashMap 的单向链表本质上只是数组上的一个元素,多条链表之间没有建立前后联系。通过 before 和 after 两个属性就可以建立链表之间的前后联系,从而能够全局记录数据的插入顺序和访问顺序。

一图胜千言: