javascript
class LRUCache {
constructor(capacity) {
this.map = new Map();
this.capacity = capacity;
}
get(key) {
if (this.map.has(key)) {
let value = this.map.get(key);
// 重新set,相当于更新到 map最后
this.map.delete(key);
this.map.set(key, value);
return value;
}
return -1;
}
set(key, value) {
// 如果有,就删了再赋值
if (this.map.has(key)) {
this.map.delete(key);
}
this.map.set(key, value);
// 判断是不是容量超了,淘汰机制
if (this.map.size > this.capacity) {
this.map.delete(this.map.keys().next().value);
}
}
}
class LRUCache {
constructor(capacity) {
this.map = new Map();
this.capacity = capacity;
}
get(key) {
if (this.map.has(key)) {
let value = this.map.get(key);
// 重新set,相当于更新到 map最后
this.map.delete(key);
this.map.set(key, value);
return value;
}
return -1;
}
set(key, value) {
// 如果有,就删了再赋值
if (this.map.has(key)) {
this.map.delete(key);
}
this.map.set(key, value);
// 判断是不是容量超了,淘汰机制
if (this.map.size > this.capacity) {
this.map.delete(this.map.keys().next().value);
}
}
}