LinkedHashMap 继承了 HashMap,并且 LinkedHashMap 的 Entry 也继承了 HashMap 里面的 Entry,并增加了 before 和 after 两个属性,也就是说 LinkedHashMap 是把 HashMap 的单向链表改成了双向链表来用。
因为 HashMap 的单向链表本质上只是数组上的一个元素,多条链表之间没有建立前后联系。通过 before 和 after 两个属性就可以建立链表之间的前后联系,从而能够全局记录数据的插入顺序和访问顺序。
一图胜千言:
