使用LinkedHashMap实现,LRU缓存
public class LRU<K, V> extends LinkedHashMap<K, V> {
private final int max_capacity;
public LRU(int initialCapacity, int max_capacity) {
super(initialCapacity, 0.75F, true);
this.max_capacity = max_capacity;
}
public LRU() {
super(16, 0.75F, true);
max_capacity = 4;
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
return size() > max_capacity;
}
}