0
点赞
收藏
分享

微信扫一扫

【集合044】用linkedhashmap实现lru算法?

芭芭蘑菇 2022-03-12 阅读 46
用linkedhashmap实现lru算法?

主要考察2个点

  • accessorder实现lru的逻辑
  • removeEldestEntry的复写

在插入之后,会调用linkedhashmap的afternodeinsertion方法,需要重写removeeldestentry方法

image-20220309185201276

import java.util.LinkedHashMap;
import java.util.Map;

class Scratch<K, V> extends LinkedHashMap<K, V> {
    
    private int capacity;

    public Scratch(int capacity) {
        super(16, 0.75f, true);
        this.capacity = capacity;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
        return size() > capacity;
    }
}
举报

相关推荐

0 条评论