Package gaiasky.util
Class LruCache<A,B>
java.lang.Object
java.util.AbstractMap<A,B>
java.util.HashMap<A,B>
java.util.LinkedHashMap<A,B>
gaiasky.util.LruCache<A,B>
- Type Parameters:
A
- The key type.B
- The object type.
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<A,
,B> SequencedMap<A,
B>
Implementation of an LRU (least recently used) cache.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
removeEldestEntry
(Map.Entry<A, B> eldest) Returnstrue
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, newLinkedHashMap, putFirst, putLast, replaceAll, reversed, sequencedEntrySet, sequencedKeySet, sequencedValues, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, 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
Methods inherited from interface java.util.SequencedMap
firstEntry, lastEntry, pollFirstEntry, pollLastEntry
-
Constructor Details
-
LruCache
public LruCache(int maxEntries)
-
-
Method Details
-
removeEldestEntry
Returnstrue
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 classLinkedHashMap<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:
-