2011-08-05 01:41:04 -07:00
|
|
|
package magic.data;
|
2011-06-30 19:30:42 -07:00
|
|
|
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
import java.util.Map;
|
|
|
|
|
2015-12-02 02:19:01 -08:00
|
|
|
@SuppressWarnings("serial")
|
2011-08-05 01:41:04 -07:00
|
|
|
public class LRUCache<K,V> extends LinkedHashMap<K,V> {
|
2011-06-30 19:30:42 -07:00
|
|
|
private final int capacity;
|
|
|
|
|
2011-09-08 02:23:22 -07:00
|
|
|
public LRUCache(final int capacity) {
|
2011-06-30 19:30:42 -07:00
|
|
|
super(capacity + 1, 1.1f, true);
|
|
|
|
this.capacity = capacity;
|
|
|
|
}
|
|
|
|
|
2017-06-16 20:19:03 -07:00
|
|
|
@Override
|
2013-09-11 20:20:43 -07:00
|
|
|
protected boolean removeEldestEntry(final Map.Entry<K,V> eldest) {
|
2011-06-30 19:30:42 -07:00
|
|
|
return size() > capacity;
|
|
|
|
}
|
|
|
|
}
|