public void deleteFromCache(int data){
        Node node = map.get(data);
        if(node == null){
            return;
        }
        map.remove(data);
        if(size == 1){
            head = null;
            tail = null;
        }
        else if(node == head){
            head = head.next;
            if(head != null){
                head.before = null;
            }
            node.next = null;
        }else if(node == tail){
            tail = tail.before;
            tail.next = null;
        }else{
            Node before = node.before;
            Node next = node.next;
            before.next = next;
            next.before = before;
        }
    }
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