1. public class LRUCacheWithLHM extends LinkedHashMap<Integer, Integer> {
    2. private int capacity;
    3. public LRUCacheWithLHM(int capacity){
    4. // 由于无法获取父类的capacity字段,所以子类需要冗余一下
    5. // true表示按读取顺序,false表示按插入顺序
    6. super(capacity, 0.75f, true);
    7. this.capacity = capacity;
    8. }
    9. @Override
    10. protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) {
    11. // 默认实现的super.removeEldestEntry,是直接返回false的,也就是不会删除
    12. return size() > this.capacity;
    13. }
    14. }