K
- type of the keyV
- type of the valuepublic class LruCache<K,V> extends AbstractCache<K,V>
Cache
that uses a LRU list that removes the least recently used entry as an eviction policy.DEFAULT_CAPACITY
Constructor and Description |
---|
LruCache()
Constructor for the LruCache object.
|
LruCache(int capacity)
Constructor for the LruCache object.
|
LruCache(Resolver<K,V> resolver)
Constructor for the LruCache object.
|
LruCache(Resolver<K,V> resolver,
int capacity)
Constructor for the LruCache object.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all key-value mappings from the cache and LRU list.
|
boolean |
containsKey(K key)
Checks whether the specified key is cached.
|
void |
evict()
Removes the least recently used item from the cache.
|
V |
get(K key)
Gets the value associated with the specified key from the cache if a mapping exists, or the value returned by the resolver.
|
Set<K> |
keySet()
Gets all keys contained in the cache.
|
K |
nextEvicted()
Gets the least recently used key.
|
V |
put(K key,
V value)
Adds a new key-value mapping to the cache.
|
V |
remove(K key)
Removes the specified key and its value from the cache.
|
int |
size()
Returns the number of key-value mappings in the cache.
|
String |
toString()
Returns a text representation of the cache.
|
V |
update(K key,
V value)
Updates the value associated with the specified key in the cache if a mapping exists for the key.
|
capacity, getResolver, hitRatio, hits, misses, requests, resetCounters, setResolver
public LruCache()
public LruCache(int capacity)
capacity
- capacity of the cachepublic LruCache(Resolver<K,V> resolver)
resolver
- resolver to associate with the cachepublic V put(K key, V value)
public V get(K key)
public V update(K key, V value)
public boolean containsKey(K key)
containsKey
in interface Cache<K,V>
containsKey
in class AbstractCache<K,V>
key
- key to checkpublic void clear()
public Set<K> keySet()
Set
of keys contained in the cache.public int size()
public K nextEvicted()
nextEvicted
in interface Cache<K,V>
nextEvicted
in class AbstractCache<K,V>
public void evict()
public String toString()
toString
in class AbstractCache<K,V>
Copyright © 2016 Egothor. All Rights Reserved.