K - the type of the key used for cache retrievalV - the type of the cached valuespublic class ConcurrentLruCache<K,V> extends Object
This implementation is backed by a ConcurrentHashMap for storing
 the cached values and a ConcurrentLinkedDeque for ordering the keys
 and choosing the least recently used key when the cache is at full capacity.
get(K)| Constructor and Description | 
|---|
| ConcurrentLruCache(int sizeLimit,
                  Function<K,V> generator)Create a new cache instance with the given limit and generator function. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | clear()Immediately remove all entries from this cache. | 
| boolean | contains(K key)Determine whether the given key is present in this cache. | 
| V | get(K key)Retrieve an entry from the cache, potentially triggering generation
 of the value. | 
| boolean | remove(K key)Immediately remove the given key and any associated value. | 
| int | size()Return the current size of the cache. | 
| int | sizeLimit()Return the maximum number of entries in the cache
 (0 indicates no caching, always generating a new value). | 
public ConcurrentLruCache(int sizeLimit,
                          Function<K,V> generator)
sizeLimit - the maximum number of entries in the cache
 (0 indicates no caching, always generating a new value)generator - a function to generate a new value for a given keypublic V get(K key)
key - the key to retrieve the entry forpublic boolean contains(K key)
key - the key to check fortrue if the key is present,
 false if there was no matching keypublic boolean remove(K key)
key - the key to evict the entry fortrue if the key was present before,
 false if there was no matching keypublic void clear()
public int size()
sizeLimit()public int sizeLimit()
size()