LinkedHashMapt深入学习

Posted 我_会飞的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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深入学习的主要内容,如果未能解决你的问题,请参考以下文章

java.util.ConcurrentModificationException的解决办法

彻底理解HashMap及LinkedHashMap

深入学习JavaScript系列——对象/继承

深入学习webpack

深入了解机器学习

深入学习APC