zoukankan      html  css  js  c++  java
  • 手写LRU算法

    import java.util.LinkedHashMap;
    import java.util.Map;
    
    public class LRUCache<K, V> extends LinkedHashMap<K, V> {
        
        private static final long serialVersionUID = 1L;
        private final int CACHE_SIZE;
    
        public LRUCache(int cacheSize) { 
            // true 表示让 linkedHashMap按照访问顺序来进行排序,最近访问的放在头部,最老访问的放在尾部。
            super((int) Math.ceil(cacheSize / 0.75) + 1, 0.75f, true);
            CACHE_SIZE = cacheSize;
        }
    
        @Override
        protected boolean removeEldestEntry(Map.Entry<K, V> eldest) { 
            // 当map中的数据量大于指定的缓存个数的时候,就自动删除最老的数据。
            return size() > CACHE_SIZE;
        }
    }
  • 相关阅读:
    第五周作业
    第四周作业
    第三周作业(两个题)
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    求最大值及其下标
    查找整数
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/10110812.html
Copyright © 2011-2022 走看看