Package org.eclipse.emf.compare.match.eobject.internal

# Class AccessBasedLRUCache<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
org.eclipse.emf.compare.match.eobject.internal.AccessBasedLRUCache<K,V>

Type Parameters:
  `K` - the type of keys maintained by this map
  `V` - the type of mapped values

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Map<K,V>`

public class AccessBasedLRUCache<K,V> extends LinkedHashMap<K,V>
A Map acting like a LRU cache which will evict elements which have not been accessed in a while.

See Also:
  - Serialized Form

## Nested Class Summary

## 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

Constructors
Constructor
Description
`AccessBasedLRUCache(int maxSize, int initialCapacity, float loadFactor)`
Create a new cache.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`removeEldestEntry(Map.Entry<K,V> eldest)`

### 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`

### Methods inherited from class java.util.AbstractMap

`equals, hashCode, toString`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size`

## Constructor Details

### AccessBasedLRUCache

public AccessBasedLRUCache(int maxSize, int initialCapacity, float loadFactor)
Create a new cache.

Parameters:
  `maxSize` - the maximum size of the cache before it starts evicting elements.
  `initialCapacity` - pre-allocated capacity for the cache.
  `loadFactor` - the load factor

## Method Details

### removeEldestEntry

public boolean removeEldestEntry(Map.Entry<K,V> eldest)

Overrides:
  `removeEldestEntry` in class `LinkedHashMap<K,V>`