首页 > 代码库 > LinkedHashMapt深入学习

LinkedHashMapt深入学习

1.LinkedHashMap

        是HashMap的一个子类.是Map接口的哈希表和链表的实现.是有序的HashMap

        维护着一个双重链接列表,不是同步的.

        可以按插入顺序的链表和访问顺序的链表.默认是按插入顺序排序

2.成员变量:

      重新定义了HashMap中的Entry,除了保存当前对象的引用外,还保存了上一个元素和下一个元素的引用        

      private static class Entry<k,v>extends HashMap.Entry<k,v>{

        Entry<k,v>before,after;

      }

      boolean  accessOrder默认值为false. 按照插入顺序排序.  当为true时.按照访问顺序排序(即访问一个数据将该数据移至链表的表头,原来的位置删除)

3.主要特点:

      LinkedHashMap能够按照插入的顺序或者访问顺序迭代.

      可以用作LRU(Least Recently Used)(最近最少使用)的缓存(重写removeEldestEntry方法.默认的不清除不常读的数据,)

        

LinkedHashMapt深入学习