use a Doubly Linked List and Hash Map to implement LRU Cache