LinkedHashMap源码详解(2)

1 //使用父类中的构造,初始化容量和加载因子,该初始化容量是指数组大小。
2    public LinkedHashMap(int initialCapacity, float loadFactor) {
3        super(initialCapacity, loadFactor);
4        accessOrder = false;
5     }
6 //一个参数的构造
7    public LinkedHashMap(int initialCapacity) {
8        super(initialCapacity);
9        accessOrder = false;
10     }
11 //无参构造
12    public LinkedHashMap() {
13        super();
14        accessOrder = false;
15     }
16 //这个不用多说,用来接受map类型的值转换为LinkedHashMap 17    public LinkedHashMap(Map<? extends K, ? extends V> m) {
18        super(m);
19        accessOrder = false;
20     }
21 //真正有点特殊的就是这个,多了一个参数accessOrder。存储顺序,LinkedHashMap关键的参数之一就在这个,
  //true:指定迭代的顺序是按照访问顺序(近期访问最少到近期访问最多的元素)来迭代的。 false:指定迭代的顺序是按照插入顺序迭代,也就是通过插入元素的顺序来迭代所有元素
//如果你想指定访问顺序,那么就只能使用该构造方法,其他三个构造方法默认使用插入顺序。

22    public LinkedHashMap(int initialCapacity,
23                          float loadFactor,
24                          boolean accessOrder) {
25        super(initialCapacity, loadFactor);
26        this.accessOrder = accessOrder;
27    }

2.3、验证header的存在

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a25696dfd150e2968980e79cb284a56a.html