Package nablarch.core.util.map
Class LRUMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
nablarch.core.util.map.LRUMap<K,V>
- Type Parameters:
K- キーの型V- 値の型
- All Implemented Interfaces:
Serializable,Cloneable,Map<K,V>
LRUアルゴリズムを持つ
Map実装クラス。
指定された最大容量を超過する場合、
最も参照されない期間が長いエントリが削除される。- Author:
- T.Kawasaki
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceLRUアルゴリズムにより、エントリが削除された場合に呼び出されるコールバックインタフェース。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
ConstructorsConstructorDescriptionLRUMap(int maxSize) コンストラクタ。LRUMap(int initialCapacity, float loadFactor, int maxSize) コンストラクタ。LRUMap(int initialCapacity, float loadFactor, int maxSize, LRUMap.RemoveListener<K, V> listener) コンストラクタ。 初期容量<最大サイズの場合、最大サイズが初期容量となる。LRUMap(int initialCapacity, int maxSize) コンストラクタ。LRUMap(int maxSize, LRUMap.RemoveListener<K, V> listener) コンストラクタ。 -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanremoveEldestEntry(Map.Entry<K, V> eldest) 現在のサイズが最大サイズより大きい場合、真を返却する。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
-
LRUMap
public LRUMap(int initialCapacity, float loadFactor, int maxSize, LRUMap.RemoveListener<K, V> listener) コンストラクタ。 初期容量<最大サイズの場合、最大サイズが初期容量となる。- Parameters:
initialCapacity- 初期容量loadFactor- 負荷係数maxSize- 最大サイズlistener- リスナー
-
LRUMap
public LRUMap(int initialCapacity, float loadFactor, int maxSize) コンストラクタ。- Parameters:
initialCapacity- 初期容量loadFactor- 負荷係数maxSize- 最大サイズ
-
LRUMap
public LRUMap(int initialCapacity, int maxSize) コンストラクタ。- Parameters:
initialCapacity- 初期容量maxSize- 最大サイズ
-
LRUMap
コンストラクタ。- Parameters:
maxSize- 最大サイズlistener- リスナー
-
LRUMap
public LRUMap(int maxSize) コンストラクタ。- Parameters:
maxSize- 最大サイズ
-
-
Method Details
-
removeEldestEntry
現在のサイズが最大サイズより大きい場合、真を返却する。- Overrides:
removeEldestEntryin classLinkedHashMap<K,V>
-