Java Thread safe LinkedHashMap implementation? Java Thread safe LinkedHashMap implementation? multithreading multithreading

Java Thread safe LinkedHashMap implementation?


You can anonymously extend LinkedHashMap to change the behavior of removeEldestEntry(...), then wrap the instance of the anonymous class in a synchronized map. You didn't mention what type parameters you require, so I'm using <String, Integer> in this example.

Map<String, Integer> map = Collections.synchronizedMap(new LinkedHashMap<String, Integer>() {   private static final long serialVersionUID = 12345L; // use something random or just suppress the warning   @Override   protected boolean removeEldestEntry(Entry<String, Integer> eldest) {      return size() > MAX_SIZE; // how many entries you want to keep   }               });


java.util.Collections.synchronizedMap(map) returns a synchronized (thread-safe) map backed by the specified map.