Class LRUCache<K,V>

java.lang.Object
net.sf.saxon.expr.sort.LRUCache<K,V>

public class LRUCache<K,V> extends Object
An LRU cache, based on LinkedHashMap. Synthesized and simplified from various published examples of the genre. The methods are not synchronized.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LRUCache(int cacheSize)
    Creates a new LRU cache.
    LRUCache(int cacheSize, boolean concurrent)
    Creates a new LRU cache, with the option of making it thread-safe
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clear the cache
    get(K key)
    Retrieves an entry from the cache.
    The retrieved entry becomes the most recently used entry.
    void
    put(K key, V value)
    Adds an entry to this cache.
    int
    Get the number of entries in the cache

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LRUCache

      public LRUCache(int cacheSize)
      Creates a new LRU cache.
      Parameters:
      cacheSize - the maximum number of entries that will be kept in this cache.
    • LRUCache

      public LRUCache(int cacheSize, boolean concurrent)
      Creates a new LRU cache, with the option of making it thread-safe
      Parameters:
      cacheSize - the maximum number of entries that will be kept in this cache.
      concurrent - set to true if concurrent access is required, so that access will be synchronized
  • Method Details

    • get

      public V get(K key)
      Retrieves an entry from the cache.
      The retrieved entry becomes the most recently used entry.
      Parameters:
      key - the key whose associated value is to be returned.
      Returns:
      the value associated to this key, or null if no value with this key exists in the cache.
    • put

      public void put(K key, V value)
      Adds an entry to this cache. If the cache is full, the LRU (least recently used) entry is dropped.
      Parameters:
      key - the key with which the specified value is to be associated.
      value - a value to be associated with the specified key.
    • clear

      public void clear()
      Clear the cache
    • size

      public int size()
      Get the number of entries in the cache
      Returns:
      the number of entries