LinkedHashMap维护插入的顺序。
元素存储关系
红黄箭头:元素添加顺序
蓝箭头:单链表各个元素的存储顺序
head:链表头部
tail:链表尾部
继承体系
继承自 HashMap ,因此 HashMap 拥有的荣耀它也都有.
2 属性
- 双向链表的头(最老)
- 双链表的末尾(最小)
- HashMap.Node的子类:常规 LinkedHashMap 节点,增加了 before 和 after 属性,维护双向链表的结构
此 LinkedHashMap 的迭代排序方法:
true: 访问顺序
false(默认): 插入顺序
3 构造方法
构造方法都是先执行父类 HashMap 的构造方法.
3.1 无参
- 构造一个空的维护插入顺序的LinkedHashMap实例,其默认初始容量(16)和负载因子(0.75).
3.2 有参
- 构造一个空的LinkedHashMap实例,可自己指定初始容量,负载因子和排序模式.
- 构造一个维护插入顺序的LinkedHashMap实例,该实例具有与指定map相同的映射关系,创建的LinkedHashMap实例具有默认的加载因子(0.75)和足以容纳指定map中映射的初始容量.
- 下面我们开始研究该类的主要特性是如何通过代码实现的.