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 ILRUEntryCleanerThe entry cleaner (for performing cleanup code on removed entries).protected intThe 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.intGet the maximum number of thebooleanremoveEldestEntry(Map.Entry<K, V> eldest) Remove the eldest entry.voidsetCleaner(ILRUEntryCleaner cleaner) Set the cleaner object.voidsetMaxEntries(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, valuesMethods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, putAll, putIfAbsent, remove, remove, replace, replace, sizeMethods inherited from class java.util.AbstractMap
equals, hashCode, toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, putAll, putIfAbsent, remove, remove, replace, replace, sizeMethods 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:
removeEldestEntryin classLinkedHashMap<K,V> - Parameters:
eldest- The eldest entry.- Returns:
- True if need to be removed.
-