public class LruCache<K, V> extends LinkedHashMap<K, V> {
private int mCacheSize = 30; // as default
private int mEvict = 0;
public LruCache(int cacheSize) {
mCacheSize = cacheSize;
}
public V get(Object key) {
V value = super.get(key);
if (value == null)
return null;
try {
super.remove(key);
super.put((K)key, value);
return value;
} catch (Exception e) {
return null;
}
}
public int getEvictCount() {
return mEvict;
}
protected boolean removeEldestEntry(Entry<K, V> eldest) {
boolean rtn = size() > mCacheSize;
if (rtn) {
++mEvict;
}
return rtn;
}
}
Simple lru cache
最新推荐文章于 2022-08-07 16:18:47 发布