K
- キーの型V
- 値の型public class LRUMap<K,V>
extends java.util.LinkedHashMap<K,V>
Map
実装クラス。
指定された最大容量を超過する場合、
最も参照されない期間が長いエントリが削除される。HashMap
,
LinkedHashMap
,
Serialized FormModifier and Type | Class and Description |
---|---|
static interface |
LRUMap.RemoveListener<K,V>
LRUアルゴリズムにより、エントリが削除された場合に呼び出されるコールバックインタフェース。
|
Constructor and Description |
---|
LRUMap(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)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
removeEldestEntry(java.util.Map.Entry<K,V> eldest)
現在のサイズが最大サイズより大きい場合、真を返却する。
|
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, values
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
public LRUMap(int initialCapacity, float loadFactor, int maxSize, LRUMap.RemoveListener<K,V> listener)
initialCapacity
- 初期容量loadFactor
- 負荷係数maxSize
- 最大サイズlistener
- リスナーpublic LRUMap(int initialCapacity, float loadFactor, int maxSize)
initialCapacity
- 初期容量loadFactor
- 負荷係数maxSize
- 最大サイズpublic LRUMap(int initialCapacity, int maxSize)
initialCapacity
- 初期容量maxSize
- 最大サイズpublic LRUMap(int maxSize, LRUMap.RemoveListener<K,V> listener)
maxSize
- 最大サイズlistener
- リスナーpublic LRUMap(int maxSize)
maxSize
- 最大サイズ