Package com.norconex.commons.lang.map

# Class FifoMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
com.norconex.commons.lang.map.FifoMap<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 final class FifoMap<K,V> extends LinkedHashMap<K,V>
Simple FIFO Map base on `LinkedHashMap`. This class is not thread safe (must be synchronized externally).

Since:
  2.0.0
See Also:
  - `Collections.synchronizedMap(Map)`
  - 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
  `FifoMap(int maxSize)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getMaxSize()`
  `protected boolean`
  `removeEldestEntry(Map.Entry<K,V> entry)`

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

  - ### FifoMap

    public FifoMap(int maxSize)

- ## Method Details

  - ### getMaxSize

    public int getMaxSize()

  - ### removeEldestEntry

    protected boolean removeEldestEntry(Map.Entry<K,V> entry)
    Overrides:
      `removeEldestEntry` in class `LinkedHashMap<K,V>`