Class FixedLinkedHashMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
org.miaixz.bus.core.center.map.FixedLinkedHashMap<K,V>
Type Parameters:
K - 键类型
V - 值类型
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>, SequencedMap<K,V>

public class FixedLinkedHashMap<K,V> extends LinkedHashMap<K,V>
固定大小的LinkedHashMap 实现 注意此类非线程安全,由于LinkedHashMap.get(Object)操作会修改链表的顺序结构,因此也不可以使用读写锁。
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • FixedLinkedHashMap

      public FixedLinkedHashMap(int capacity)
      构造
      Parameters:
      capacity - 容量,实际初始容量比容量大1
  • Method Details

    • getCapacity

      public int getCapacity()
      获取容量
      Returns:
      容量
    • setCapacity

      public void setCapacity(int capacity)
      设置容量
      Parameters:
      capacity - 容量
    • setRemoveListener

      public void setRemoveListener(Consumer<Map.Entry<K,V>> removeListener)
      设置自定义移除监听
      Parameters:
      removeListener - 移除监听
    • removeEldestEntry

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