Package gaiasky.util

Class LruCache<A,​B>

java.lang.Object
java.util.AbstractMap<K,​V>
java.util.HashMap<K,​V>
java.util.LinkedHashMap<A,​B>
gaiasky.util.LruCache<A,​B>
All Implemented Interfaces:
Serializable, Cloneable, Map<A,​B>

public class LruCache<A,​B> extends LinkedHashMap<A,​B>
Least Recently Used cache implementation
See Also:
Serialized Form
  • Constructor Details

    • LruCache

      public LruCache(int maxEntries)
  • Method Details

    • removeEldestEntry

      protected boolean removeEldestEntry(Map.Entry<A,​B> eldest)
      Returns true if this LruCache has more entries than the maximum specified when it was created.

      This method does not modify the underlying Map; it relies on the implementation of LinkedHashMap to do that, but that behavior is documented in the JavaDoc for LinkedHashMap.

      Overrides:
      removeEldestEntry in class LinkedHashMap<A,​B>
      Parameters:
      eldest - the Entry 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)