java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
org.junit.platform.commons.util.LruCache<K,V>
- Type Parameters:
K
- the type of keys maintained by this cacheV
- the type of values maintained by this cache
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<K,
V>
A simple LRU cache with a maximum size.
This class is not thread-safe.
- Since:
- 1.6
- See Also:
-
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
ConstructorDescriptionLruCache
(int maxSize) Create a new LRU cache that maintains at most the supplied number of entries. -
Method Summary
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 maxSize) Create a new LRU cache that maintains at most the supplied number of entries.For optimal use of the internal data structures, you should pick a number that's one below a power of two since this is based on a
HashMap
and the eldest entry will be evicted after adding the entry that increases the size to be abovemaxSize
.
-
-
Method Details
-
removeEldestEntry
- Overrides:
removeEldestEntry
in classLinkedHashMap<K,
V>
-