hi coders,
Can LinkedHashMap be used to implement LRU cache as shown below?
Please provide feedback. Thanks
public static int lruCacheMisses(int num, List<Integer> pages, int maxCacheSize) {
// WRITE YOUR BRILLIANT CODE HERE
int misses = 0;
Map<Integer, Integer> cache = new LinkedHashMap<>(maxCacheSize, .75f, true) {
@Override
protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) {
return size() > maxCacheSize;
}
};
for(int page : pages){
//cache miss
if(!cache.containsKey(page)){
misses += 1;
cache.put(page, page);
}else {
cache.get(page); // to make it most recently used
}
}
return misses;
}