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>
public class MaxSizeLinkedHashMap<K,V> extends LinkedHashMap<K,V>
ALinkedHashMapwith a maximum size. Adding anEntrythat would exceed this size results inremoving the eldest entry.- Author:
- Raimund Klein
- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description MaxSizeLinkedHashMap(int maxSize)Constructs a MaxSizeLinkedHashMap with maximum sizemaxSize.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanremoveEldestEntry(Map.Entry<K,V> eldest)-
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, values
-
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, 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, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
-
-
-
Constructor Detail
-
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 Detail
-
removeEldestEntry
protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
This implementation will return
trueif this MaxSizeLinkedHashMap has reached its maximum size, elsefalse.- Overrides:
removeEldestEntryin classLinkedHashMap<K,V>
-
-