ru.yandex.clickhouse.util

## Class LRUCache<K,V>

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - java.util.HashMap<K,V>
    - - java.util.LinkedHashMap<K,V>
      - - ru.yandex.clickhouse.util.LRUCache<K,V>

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

    public class LRUCache<K,V>
    extends LinkedHashMap<K,V>

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.AbstractMap

`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

### Constructor Summary

Constructors
`protected` `LRUCache(int cacheSize, Function<K,V> loader)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static <K,V> Map<K,V>` `create(int cacheSize, Function<K,V> loader)`
`V` `get(Object key)`
`protected boolean` `removeEldestEntry(Map.Entry<K,V> eldest)`

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

`clear, containsValue, entrySet, forEach, 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

#### LRUCache

    protected LRUCache(int cacheSize,
                       Function<K,V> loader)

### Method Detail

#### create

    public static <K,V> Map<K,V> create(int cacheSize,
                                        Function<K,V> loader)

#### removeEldestEntry

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

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

#### get

    public V get(Object key)

Specified by:
  `get` in interface `Map<K,V>`
Overrides:
  `get` in class `LinkedHashMap<K,V>`