java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
xyz.cofe.collection.LRUCache<K,V>
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.Map<K,V>
public class LRUCache<K,V>
extends java.util.LinkedHashMap<K,V>
Простой LRU кэш
- Author:
- [email protected]
- See Also:
- Serialized Form
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected int
cacheSizeMax
Размер кэша -
Constructor Summary
-
Method Summary
Modifier and Type Method Description int
getCacheSizeMax()
Возвращает максимальное кэшируемое кол-во элементовprotected boolean
removeEldestEntry(java.util.Map.Entry<K,V> eldest)
void
setCacheSizeMax(int cacheSizeMax)
Указывает максимальное кол-во элементов в кэше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
-
Field Details
-
cacheSizeMax
protected volatile int cacheSizeMaxРазмер кэша
-
-
Constructor Details
-
Method Details
-
getCacheSizeMax
public int getCacheSizeMax()Возвращает максимальное кэшируемое кол-во элементов- Returns:
- максимальное кол-во эл в кэше
-
setCacheSizeMax
public void setCacheSizeMax(int cacheSizeMax)Указывает максимальное кол-во элементов в кэше- Parameters:
cacheSizeMax
- максимальное кол-во элементов
-
removeEldestEntry
-