Fixed sized map in Java and LRU map

A fixed size ordered hash map that gets purged automatically on key insertions:
import java.util.LinkedHashMap;
import java.util.Map;

public class FixedMap<K,V> extends LinkedHashMap<K,V> {
    private int max_capacity;

    public FixedMap(int initial_capacity, int max_capacity) {
        super(initial_capacity, 0.75f, false);
        this.max_capacity = max_capacity;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
        return size() > this.max_capacity;
    }

}

A map that automatically removes least recently used keys (great for implementing LRU caches):

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

public class LRUMap<K,V> extends LinkedHashMap<K,V> {
    private int max_cap;

    public LRUMap(int initial_cap, int max_cap) {
        super(initial_cap, 0.75f, true);
        this.max_cap = max_cap;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
        return size() > this.max_cap;
    }
}
Code · Tips 25. Aug 2009
© Amir Salihefendic. Powered by Skeletonz.