Java|Java 最近最少使用算法(LRU)

【Java|Java 最近最少使用算法(LRU)】Java已经为我们提供了这种形式的数据结构-LinkedHashMap!它甚至提供可覆盖回收策略的方法(见removeEldestEntry文档)。唯一需要我们注意的事情是,改链表的顺序是插入的顺序,而不是访问的顺序。但是,有一个构造函数提供了一个选项,可以使用访问的顺序(见文档)。

import java.util.LinkedHashMap; import java.util.Map; public LRUCache extends LinkedHashMap { private int cacheSize; public LRUCache(int cacheSize) { //true for access-order, false for insertion-order super(16, 0.75, true); this.cacheSize = cacheSize; }protected boolean removeEldestEntry(Map.Entry eldest) { return size() >= cacheSize; } }

    推荐阅读