真實面試中會讓你寫LUR算法,你可別搞原始的那個,那真TM多,寫不完的,你要麼懟上面這個,要麼懟下面這個,找一個數據結構實現下Java版本的LRU還是比較容易的,知道啥原理就好了。
public class LRUCache<K,V> extends LinkedHashMap<K,V> {
private final int cash_size;
public LRUCache(int size){
super((int)Math.ceil(size / 0.75) + 1,0.75f,true);
cash_size = size;
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
return size() > cash_size;
}
}