Create a Least-Recently-Used (LRU) Cache by using LinkedHashMap in Java

Description

The following code shows how to create a Least-Recently-Used (LRU) Cache by using LinkedHashMap.

Example


//from w w w  .  j a va2s  .co m
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;

public class Main {
  public static void main(String[] argv) throws Exception {
    final int MAX_ENTRIES = 100;
    Map cache = new LinkedHashMap(MAX_ENTRIES + 1, .75F, true) {
      public boolean removeEldestEntry(Map.Entry eldest) {
        return size() > MAX_ENTRIES;
      }
    };

    Object key = "key";
    Object value = "value";
    cache.put(key, value);
    Object o = cache.get(key);
    if (o == null && !cache.containsKey(key)) {
    }
    cache = (Map) Collections.synchronizedMap(cache);
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Java Collection »




Java ArrayList
Java Collection
Java Comparable
Java Comparator
Java HashMap
Java HashSet
Java Iterator
Java LinkedHashMap
Java LinkedHashSet
Java LinkedList
Java List
Java ListIterator
Java Map
Queue
Java Set
Stack
Java TreeMap
TreeSet