org.inria.myriads.snoozecommon.datastructure
Class LRUCache<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,V>
          extended by java.util.LinkedHashMap<K,V>
              extended by org.inria.myriads.snoozecommon.datastructure.LRUCache<K,V>
Type Parameters:
K - The key
V - The value
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>

public class LRUCache<K,V>
extends LinkedHashMap<K,V>
implements Serializable

Generic LRU cache implementation.

Author:
Eugen Feller
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
LRUCache()
          Empty constructor.
LRUCache(int maxCapacity)
          Constructor.
 
Method Summary
protected  boolean removeEldestEntry(Map.Entry<K,V> eldest)
          Determines if the oldest element schould be removed.
 
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, get
 
Methods inherited from class java.util.HashMap
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

LRUCache

public LRUCache()
Empty constructor.


LRUCache

public LRUCache(int maxCapacity)
Constructor.

Parameters:
maxCapacity - The maximum capacity
Method Detail

removeEldestEntry

protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
Determines if the oldest element schould be removed.

Overrides:
removeEldestEntry in class LinkedHashMap<K,V>
Parameters:
eldest - The eldest element
Returns:
true if removed, false otherwise


Copyright © 2012. All Rights Reserved.