All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jsoftware.utils.collection.LRUMap Maven / Gradle / Ivy

package org.jsoftware.utils.collection;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * LRU (Least Recently Used) Map
 * @author m-szalik
 */
public class LRUMap extends LinkedHashMap {
    private final int capacity;

    /**
     * LRU Map with maximum size of capacity
     * @param capacity maximum map's size
     */
    public LRUMap(int capacity) {
        super();
        this.capacity = capacity;
    }

    final protected boolean removeEldestEntry(Map.Entry eldest) {
        return size() > capacity;
    }

    /**
     * @return Map capacity
     */
    public int getCapacity() {
        return capacity;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy