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
`AccessBasedLRUCache​(int maxSize, int initialCapacity, float loadFactor)` Create a new cache.

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

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

#### removeEldestEntry

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

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