JS LRU算法实现

class LRU {
  constructor(max){
  this.max=max; // 缓存最大数量
  this.cache=new Map()
  }

  get(key){
    if(this.cache.has(key)){
      const item = this.cache.get(key)
      this.cache.delete(key)
      this.cache.set(key,item)
      return item
    }
    return -1
  }

  put(key,value){
    if(this.cache.has(key)){
      this.cache.delete(key)
    }else if(this.cache.size > this.max){
      this.cache.delete(this.cache.keys().next().value)
    }
    this.cache.set(key,value)
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值