简介: Java - 快速手撕 LRU 算法 importjava.util.LinkedHashMap; importjava.util.Map; /*** @author Lux Sun* @date 2021/4/27*/publicclassLruCache<K, V>extendsLinkedHashMap<K, V> { privateintcapacity; /*** 构造函数* @param capacity: 初始容量...
Java实现LRU缓存 问题描述:LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10条数据,当数据小于10时可以随意添加,当超过10时就需要把新的数据添加进来,同时要把过期数据删除,以...
双向链表和HashMapclassLRUCache{// 定义一个双向链表staticclassNode{Integerkey;Integervalue;publicNode(Integerkey,Integervalue){this.key=key;this.value=value;}Nodepre;Nodenext;}// 用来快速定位节点和记录节点数量privateHashMap<Integer,Node>map;// 虚拟头节点privateNodedummyFirst;// 虚拟尾节点pr...