LRUCache实现方案

 

 

双向链表 + HashMap

 

1. 双向链表:按照最后访问时间排序。

2. HashMap:建立链表中元素的索引,方便快速寻找链表中的节点。

 

插入:

   1. 插入HashMap

   2. 放入链表尾部

 

访问:

   1. 使用HashMap快速索引到链表中的节点。

   2. 节点从链表的位置删除,

   3. 修改节点的最后访问时间。

   4. 将节点放入链表的尾部。

 

Cache容量满:

  当链表中的元素个数等于Cache容量时,

      若再加入新的元素,将链表中的队首元素移除,同时将它也从HashMap中移除。

 

posted on 2020-12-18 10:30  袜子破了  阅读(172)  评论(0编辑  收藏  举报