LinkedHashMap相对HashMap存储的数据是有序的
相对HashMap LinkedHashMap多了两个变量header与accessOrder,accessOrder用来指明LinkedHashMap的排序方式,共两种,一种是插入顺序,一种是访问顺序,构造函数都默认是插入顺序
private transient Entry<K,V> header;
// true 访问顺序 false 插入顺序
private final boolean accessOrder;
构造函数:总共5个
public LinkedHashMap(int initialCapacity, float loadFactor) {
super(initialCapacity, loadFactor);
accessOrder = false;
}
/**
*/
public LinkedHashMap(int initialCapacity) {
super(initialCapacity);
accessOrder = false;
}
/**
*/
public LinkedHashMap() {
super();
accessOrder = false;
}
/**
*/
public LinkedHashMap(Map<? extends K, ? extends V> m) {
super();
accessOrder = false;
putMapEntries(m, false);
}
/**
*/
public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder) {
super(initialCapacity, loadFactor);
this.accessOrder = accessOrder;
}
这5个构造方法内部都又调用了HashMap的构造方法
HashMap(int initialCapacity, float loadFactor)或者HashMap()