Class LruCache<K,V>

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 cache
V - the type of values maintained by this cache
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>

@API(status=INTERNAL, since="1.6") public class LruCache<K,V> extends LinkedHashMap<K,V>
A simple LRU cache with a maximum size.

This class is not thread-safe.

Since:
1.6
See Also:
  • 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 above maxSize.

  • Method Details