LinkedHashMap实现LRU缓存代码

在看Java API时,才知道LinkedHaspMap适合构建 LRU 缓存,记录下,方便以后查阅。

public static void main(String[] args) {
        final int cacheSize = 5;
        LinkedHashMap<String, String> cache = new LinkedHashMap<String, String>(cacheSize,0.75f,true){
            @Override
            protected boolean removeEldestEntry(
                    Map.Entry<String, String> eldest) {
                return size()>cacheSize;
            }
        };
       
        cache.put("1", "a");
        cache.put("2", "b");
        cache.put("3", "c");
        cache.put("4", "d");
        System.out.println(cache.get("1"));
        System.out.println(cache.get("1"));
        cache.put("5", "e");
        cache.put("6", "f");
        cache.put("7", "g");
        System.out.println(cache.get("2"));
       
    }

输出:

a
a
null

猜你喜欢

转载自sunjianfeng610.iteye.com/blog/2228331