java.util.LinkedHashMap.removeEldestEntry()方法实例
java.util.LinkedHashMap.removeEldestEntry() 方法如果此映射移除其最旧的条目返回true。此方法通过认沽及的putAll插入新进入映射之后被调用。它提供了实现者有机会到一个新的添加,每次删除最旧的条目。如果映射代表了缓存,这非常有用:它允许映射通过删除旧条目来减少内存消耗。
声明
以下是java.util.LinkedHashMap.removeEldestEntry()方法的声明
protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
参数
-
eldest -- 在映射中的至少最近插入的条目,或者如果这是一个访问顺序图,最近最少访问的条目。这是将要被移除的将,此方法返回true。如果映射是之前的认沽或调用的putAll导致此调用空的,这将是刚插入的条目;换句话说,如果映射中包含一个条目,该条目eldest也是最新的。
返回值
如果旧的条目从映射中删除此方法返回true;如果其应予以保留。
异常
-
NA
例子
下面的示例演示java.util.LinkedHashMap.removeEldestEntry()方法的用法。
package com.yiibai; import java.util.*; public class LinkedHashMapDemo { private static final int MAX_ENTRIES = 5; public static void main(String[] args) { LinkedHashMaplhm = new LinkedHashMap (MAX_ENTRIES + 1, .75F, false) { protected boolean removeEldestEntry(Map.Entry eldest) { return size() > MAX_ENTRIES; } }; lhm.put(0, "H"); lhm.put(1, "E"); lhm.put(2, "L"); lhm.put(3, "L"); lhm.put(4, "O"); System.out.println("" + lhm); } }
让我们来编译和运行上面的程序,这将产生以下结果:
{0=H, 1=E, 2=L, 3=L, 4=O}