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:
- nt.gocha@gmail.com
- See Also:
- Serialized Form
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected intcacheSizeMaxРазмер кэша -
Constructor Summary
-
Method Summary
Modifier and Type Method Description intgetCacheSizeMax()Возвращает максимальное кэшируемое кол-во элементовprotected booleanremoveEldestEntry(java.util.Map.Entry<K,V> eldest)voidsetCacheSizeMax(int cacheSizeMax)Указывает максимальное кол-во элементов в кэше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, 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
-