Package lazyj
Class LRUMap<K,V> 
java.lang.Object
java.util.AbstractMap<K,V>
 
java.util.HashMap<K,V>
 
java.util.LinkedHashMap<K,V>
 
lazyj.LRUMap<K,V> 
- Type Parameters:
- K- Key type
- V- Value type
- All Implemented Interfaces:
- Serializable,- Cloneable,- Map<K,- V> 
A Map with restricted size and LRU behavior (when the size is reached the oldest unused entry is deleted to make some space for the new entry).
 
The implementation is based on LinkedHashMap, thus it is not thread safe. Remember
The implementation is based on LinkedHashMap, thus it is not thread safe. Remember
Collections.synchronizedMap(java.util.Map<K, V>).- Since:
- Oct 26, 2007 (1.0.2)
- Author:
- costing
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class java.util.AbstractMapAbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> 
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintgetLimit()Get the maximum number of elements that will be stored in the cacheprotected booleanremoveEldestEntry(Map.Entry<K, V> eldest) Methods inherited from class java.util.LinkedHashMapclear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, valuesMethods inherited from class java.util.HashMapclone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, sizeMethods inherited from class java.util.AbstractMapequals, hashCode, toStringMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Mapcompute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
- 
Constructor Details- 
LRUMappublic LRUMap(int iCacheSize) - Parameters:
- iCacheSize- How many entries can be in this map at maximum. A negative value means "unlimited" size.
 
- 
LRUMappublic LRUMap(int iCacheSize, float fFactor) - Parameters:
- iCacheSize- How many entries can be in this map at maximum. A negative value means "unlimited" size.
- fFactor- Fill factor for the underlying LinkedHashMap
 
 
- 
- 
Method Details- 
getLimitpublic int getLimit()Get the maximum number of elements that will be stored in the cache- Returns:
- size limit
 
- 
removeEldestEntry- Overrides:
- removeEldestEntryin class- LinkedHashMap<K,- V> 
 
 
-