短小精悍......
/**
* 用LinkedHashMap实现的LRU算法,步骤
* 1.accessOrder = true //会将最近访问的元素加到header之前
* 2.removeEldestEntry=true //不会自动扩容,而是删除最老的元素
*/
public class LRUCache extends LinkedHashMap{
private int capacity;
public LRUCache(int capacity){
super(capacity,0.75f,true); //accessOrder = true;
this.capacity = capacity;
}
@Override
public boolean removeEldestEntry(Map.Entry entry){
return size() > capacity;
}
}