package de.flower.common.collection;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author flowerrrr
*/
public class MRUCache<K,V> extends LinkedHashMap<K,V> {
private int maxSize;
private static final float DEFAULT_LOAD_FACTOR = 0.75f;
public MRUCache(int maxSize) {
super(maxSize, DEFAULT_LOAD_FACTOR, true);
if (maxSize <= 0) {
throw new IllegalArgumentException("Max Size must be greater than 0.");
}
this.maxSize = maxSize;
}
@Override
protected boolean removeEldestEntry(Map.Entry eldest) {
return size() > maxSize;
}
}