Package gaiasky.util
Class LruCache<A,B>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<A,B>
gaiasky.util.LruCache<A,B>
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.Map<A,B>
public class LruCache<A,B>
extends java.util.LinkedHashMap<A,B>
Least Recently Used cache implementation
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,V extends java.lang.Object>
-
Constructor Summary
Constructors Constructor Description LruCache(int maxEntries)
-
Method Summary
Modifier and Type Method Description protected boolean
removeEldestEntry(java.util.Map.Entry<A,B> eldest)
Returns true if thisLruCache
has more entries than the maximum specified when it was created.Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
Constructor Details
-
LruCache
public LruCache(int maxEntries)
-
-
Method Details
-
removeEldestEntry
Returns true if thisLruCache
has more entries than the maximum specified when it was created.This method does not modify the underlying
Map
; it relies on the implementation ofLinkedHashMap
to do that, but that behavior is documented in the JavaDoc forLinkedHashMap
.- Overrides:
removeEldestEntry
in classjava.util.LinkedHashMap<A,B>
- Parameters:
eldest
- theEntry
in question; this implementation doesn't care what it is, since the implementation is only dependent on the size of the cache- Returns:
- true if the oldest
- See Also:
LinkedHashMap.removeEldestEntry(Map.Entry)
-