LinkedHashMap与LRU

2021-10-12  本文已影响0人  抬头挺胸才算活着

LRU:是最近最少使用算法,在内存置换的时候,需要选择最近最少使用的内存块。

下面代码解释,构造器参数的true表示读取的时候也会将元素放到最后去。

    public static void main(String[] args) {
        final int limit = 5;
        LinkedHashMap<Integer, String> map = new LinkedHashMap(16, 0.75f, true) {
            @Override
            protected boolean removeEldestEntry(Map.Entry eldest) {
                return size() > limit;
            }
        };

        for (int i = 0; i < 10; i++) {
            map.put(i, String.valueOf(i));
        }

        String v = map.get(6);
        map.keySet().forEach(System.out::print);
    }

输出结果:57896

上一篇下一篇

猜你喜欢

热点阅读