Package jadex.collection
Class LRU<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
jadex.collection.LRU<K,V>
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<K,
,V> SequencedMap<K,
V>
A least recently used map.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ILRUEntryCleaner
The entry cleaner (for performing cleanup code on removed entries).protected int
The maximum number of entries. -
Constructor Summary
ConstructorsConstructorDescriptionLRU()
Create a new LRU with 1000 entries.LRU
(int max) Create a new LRU.LRU
(int max, ILRUEntryCleaner cleaner) Create a new LRU.LRU
(int max, ILRUEntryCleaner cleaner, boolean accessorder) Create a new LRU. -
Method Summary
Modifier and TypeMethodDescriptionGet the cleaner object.int
Get the maximum number of theboolean
removeEldestEntry
(Map.Entry<K, V> eldest) Remove the eldest entry.void
setCleaner
(ILRUEntryCleaner cleaner) Set the cleaner object.void
setMaxEntries
(int max) Set the maximum number of entries.Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, newLinkedHashMap, putFirst, putLast, replaceAll, reversed, sequencedEntrySet, sequencedKeySet, sequencedValues, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from interface java.util.SequencedMap
firstEntry, lastEntry, pollFirstEntry, pollLastEntry
-
Field Details
-
max
protected int maxThe maximum number of entries. -
cleaner
The entry cleaner (for performing cleanup code on removed entries).
-
-
Constructor Details
-
LRU
public LRU()Create a new LRU with 1000 entries. -
LRU
public LRU(int max) Create a new LRU.- Parameters:
max
- The maximum number of entries.
-
LRU
Create a new LRU.- Parameters:
max
- The maximum number of entries.
-
LRU
Create a new LRU.- Parameters:
max
- The maximum number of entries.cleaner
- Optional cleaner.accessorder
- If true, entry use is refreshed on read as well as write.
-
-
Method Details
-
put
-
getMaxEntries
public int getMaxEntries()Get the maximum number of the- Returns:
- The maximum number of entries.
-
setMaxEntries
public void setMaxEntries(int max) Set the maximum number of entries.- Parameters:
max
- The maximum number of entries.
-
getCleaner
Get the cleaner object.- Returns:
- The cleaner object.
-
setCleaner
Set the cleaner object.- Parameters:
cleaner
- The cleaner object.
-
removeEldestEntry
Remove the eldest entry.- Overrides:
removeEldestEntry
in classLinkedHashMap<K,
V> - Parameters:
eldest
- The eldest entry.- Returns:
- True if need to be removed.
-