public void used(int data){
        if(containsInCache(data)){
            Node node = map.get(data);
            if(node != head){
                deleteFromCache(data);
                node.next = head;
                head.before = node;
                head = node;
                map.put(data, node);
            }
        }else{
            addIntoCache(data);
        }
    }
http://www.geeksforgeeks.org/implement-lru-cache/
Test cases:
MAX_SIZE greater than 1
Delete when empty
Delete when full
Enter data more than max
Delete till cache is empty
src/com/interview/linklist/LRUCache.java