实现原理: 使用场景: 通常提供的是遍历顺序符合插入顺序 比如种树:1、挖树坑、2、放树苗、3、埋土,必须按照这个顺序,如果2、3步骤调换,就做了无用功对吧? 代码演示hashmap在处理遍历顺序符合插入顺序存在的问题 jdk1.8基础上 1.LinkedHashMap 继承自 HashMap,所以它的底层仍然是基于拉链式散列结构。该结构由数组和链表+红黑树 在此基础上LinkedHashMap 增加了一条双向链表,保持遍历顺序和插入顺序一致的问题。 2. 在实现上,LinkedHashMap 很多方法直接继承自 HashMap(比如put remove方法就是直接用的父类的),仅为维护双向链表覆写了部分方法(get()方法是重写的)。 3.LinkedHashMap使用的键值对节点是Entity 他继承了hashMap 的Node,并新增了两个引用,分别是 before 和 after。这两个引用的用途不难理解,也就是用于维护双向链表.