Package com.cedarsoftware.util
Class LRUCache<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
com.cedarsoftware.util.LRUCache<K,V>
- All Implemented Interfaces:
Map<K,
V>
This class provides a thread-safe Least Recently Used (LRU) cache API that will evict the least recently used items,
once a threshold is met. It implements the Map interface for convenience. It is thread-safe via usage of
ReentrantReadWriteLock() around read and write APIs, including delegating to keySet(), entrySet(), and
values() and each of their iterators.
- Author:
- John DeRegnaucourt ([email protected])
Copyright (c) Cedar Software LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
License
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.util.AbstractMap
clone, isEmpty, putAll
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, isEmpty, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
LRUCache
public LRUCache(int capacity)
-
-
Method Details
-
get
-
put
-
remove
-
clear
public void clear() -
size
public int size() -
containsKey
- Specified by:
containsKey
in interfaceMap<K,
V> - Overrides:
containsKey
in classAbstractMap<K,
V>
-
containsValue
- Specified by:
containsValue
in interfaceMap<K,
V> - Overrides:
containsValue
in classAbstractMap<K,
V>
-
entrySet
-
keySet
-
values
-
equals
-
hashCode
public int hashCode() -
toString
- Overrides:
toString
in classAbstractMap<K,
V>
-