Thursday, July 26, 2007

A simple LRU cache

Here it is. (Note: apply external locking when thread-safety is required).
int maxEntries = 50;
java.util.Map lruCache =
  new java.util.LinkedHashMap(maxEntries, .75F, true) {
    protected boolean removeEldestEntry(Map.Entry eldest) {
      return size() > maxEntries
    }
  };