Package gaia.cu9.ari.gaiaorbit.util
Class LruCache<A,B>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<K,V>
-
- java.util.LinkedHashMap<A,B>
-
- gaia.cu9.ari.gaiaorbit.util.LruCache<A,B>
-
- Type Parameters:
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
-
-
Constructor Summary
Constructors Constructor Description LruCache(int maxEntries)
-
Method Summary
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Method Detail
-
removeEldestEntry
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.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)
-
-