import java.util.HashMap;
import java.util.Map;
public class LRUCache {
static DLLNode head;
static DLLNode tail;
Map
public DLLNode searchCache(DLLNode dllNode){
return hmDictionary.get(dllNode.val);
}
//Check if the cache size has been exhausted, if so remove the element from map
public void addToCache(DLLNode dllNode){
if(hmDictionary.get(dllNode.val) == null){
hmDictionary.put(dllNode.val, dllNode);
}else{
dllNode.prev.next = dllNode.next;
dllNode.next = LRUCache.tail;
LRUCache.tail.prev = dllNode;
}
if(hmDictionary)
}
public void removeFromCache(DLLNode dllNode){
if(hmDictionary.get(dllNode.val) != null){
hmDictionary.remove(dllNode.val);
}
}
}
public class DLLNode {
DLLNode prev;
DLLNode next;
Integer val;
}