Package com.icegreen.greenmail.util
Class MaxSizeLinkedHashMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
com.icegreen.greenmail.util.MaxSizeLinkedHashMap<K,V>
- Type Parameters:
K- the type of keys maintained by this mapV- the type of mapped values
- All Implemented Interfaces:
Serializable,Cloneable,Map<K,V>
A
LinkedHashMap with a maximum size. Adding an Entry that would exceed this size
results in removing the eldest entry.- Author:
- Raimund Klein <raimund.klein@gmx.de>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
ConstructorsConstructorDescriptionMaxSizeLinkedHashMap(int maxSize) Constructs a MaxSizeLinkedHashMap with maximum sizemaxSize. -
Method Summary
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, valuesMethods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, 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, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
Constructor Details
-
MaxSizeLinkedHashMap
public MaxSizeLinkedHashMap(int maxSize) Constructs a MaxSizeLinkedHashMap with maximum sizemaxSize.- Parameters:
maxSize- The maximum size for this MaxSizeLinkedHashMap.- Throws:
IllegalArgumentException- ifmaxSizeis not positive.
-
-
Method Details
-
removeEldestEntry
This implementation will return
trueif this MaxSizeLinkedHashMap has reached its maximum size, elsefalse.- Overrides:
removeEldestEntryin classLinkedHashMap<K,V>
-