public class LinkedHashMap
** extends HashMap
transient LinkedHashMap.Entry<K,V> head;
transient LinkedHashMap.Entry<K,V> tail;
/*** 一个条件变量,它控制了是否在get操作后需要将新的get的节点重新放到链表的尾部* LinkedHashMap可以维持了插入的顺序,但是这个顺序不是不变的,可以被get操作打乱。** 当accessOrder设置为false时,会按照插入顺序进行排序,当accessOrder为true是,会按照访问顺序(也就是插入和访问都会将当前节点放置到尾部,尾部代表的是最近访问的数据*/final boolean accessOrder;
static class Entry<K,V> extends HashMap.Node<K,V> {Entry<K,V> before, after;Entry(int hash, K key, V value, Node<K,V> next) {super(hash, key, value, next);}}
