LRU cache implementation using hashmap and heap