import java.util.LinkedHashMap;
public class LRUCache {
LinkedHashMap<Integer, Integer> map;
int capacity;
public LRUCache(int capacity) {
map = new LinkedHashMap<Integer, Integer> (capacity);
this.capacity = capacity;
}
public int get(int key) {
if(map.containsKey(key)){
int val = map.get(key);
map.remove(key);
map.put(key, val);
return val;
}
return -1;
}
public void set(int key, int value) {
if(map.containsKey(key)){
map.remove(key);
map.put(key, value);
}else{
if(map.size() == capacity){
int firstKey = map.keySet().iterator().next();
map.remove(firstKey);
}
map.put(key, value);
}
}
}
没有评论:
发表评论