Package es.bsc.dataclay.util.structs
Class CacheLinkedHashMap<A,B>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<K,V>
-
- java.util.LinkedHashMap<A,B>
-
- es.bsc.dataclay.util.structs.CacheLinkedHashMap<A,B>
-
- Type Parameters:
A
- Key typeB
- Value type
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<A,B>
public class CacheLinkedHashMap<A,B> extends LinkedHashMap<A,B>
This class represents a LRU cache.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Constructor Summary
Constructors Constructor Description CacheLinkedHashMap(int theMaxEntries, float loadFactor, boolean order)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
removeEldestEntry(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 underlyingMap
; it relies on the implementation ofLinkedHashMap
to do that, but that behavior is documented in the JavaDoc forLinkedHashMap
.-
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
-
-
-
-
Method Detail
-
removeEldestEntry
protected final boolean removeEldestEntry(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 underlyingMap
; 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:
LinkedHashMap.removeEldestEntry(Map.Entry)
-
-