import java.util.LinkedHashMap; import java.util.Map; /** * @author gsl * @date 2021-08-16 15:17 */ public class LRUMap<K, V> extends LinkedHashMap<K, V> { public final int maxEntries; public LRUMap(int maxEntries) { this(16, maxEntries); } public LRUMap(int initialSize, int maxEntries) { super(initialSize, 0.8f, true); this.maxEntries = maxEntries; } @Override protected boolean removeEldestEntry(Map.Entry<K, V> eldest) { return size() > maxEntries; } }