Package rocks.xmpp.util.cache
Class LruCache<K,V>
- java.lang.Object
-
- rocks.xmpp.util.cache.LruCache<K,V>
-
- Type Parameters:
K
- The key.V
- The value.
- All Implemented Interfaces:
Map<K,V>
public final class LruCache<K,V> extends Object implements Map<K,V>
A simple concurrent implementation of a least-recently-used cache.This cache is keeps a maximal number of items in memory and removes the least-recently-used item, when new items are added.
-
-
Constructor Summary
Constructors Constructor Description LruCache(int maxEntries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
V
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
V
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
V
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
V
get(Object key)
boolean
isEmpty()
Set<K>
keySet()
V
merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
V
put(K key, V value)
void
putAll(Map<? extends K,? extends V> m)
V
putIfAbsent(K key, V value)
V
remove(Object key)
boolean
remove(Object key, Object value)
V
replace(K key, V value)
boolean
replace(K key, V oldValue, V newValue)
int
size()
Collection<V>
values()
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Map
equals, forEach, getOrDefault, hashCode, replaceAll
-
-
-
-
Method Detail
-
containsKey
public final boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<K,V>
-
containsValue
public final boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<K,V>
-
putIfAbsent
public final V putIfAbsent(K key, V value)
- Specified by:
putIfAbsent
in interfaceMap<K,V>
-
computeIfAbsent
public final V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
- Specified by:
computeIfAbsent
in interfaceMap<K,V>
-
computeIfPresent
public final V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
- Specified by:
computeIfPresent
in interfaceMap<K,V>
-
compute
public final V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
-
-