Java.util.LinkedHashMap.removeEldestEntry() 方法
描述
java.util.LinkedHashMap.removeEldestEntry() 方法返回 true 如果此映射应删除其最旧的条目。 在将新条目插入映射后,put 和 putAll 调用此方法。 它为实现者提供了在每次添加新条目时删除最旧条目的机会。 如果映射表示缓存,这很有用:它允许映射通过删除过时的条目来减少内存消耗。
声明
以下是 java.util.LinkedHashMap.removeEldestEntry() 方法的声明
protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
参数
eldest − 映射中最近最少插入的条目,或者如果这是按访问排序的映射,则为最近最少访问的条目。 这是将被删除的条目,此方法返回 true。 如果在 put 或 putAll 调用导致此调用之前映射为空,则这将是刚刚插入的条目; 换句话说,如果映射包含单个条目,则最旧的条目也是最新的。
返回值
如果应该从映射中删除最旧的条目,则此方法返回 true; 如果应该保留,则为 false。
异常
NA
示例
下面的例子展示了 java.util.LinkedHashMap.removeEldestEntry() 方法的使用。
package com.tutorialspoint; import java.util.*; public class LinkedHashMapDemo { private static final int MAX_ENTRIES = 5; public static void main(String[] args) { LinkedHashMap<Integer, String> lhm = new LinkedHashMap<Integer, String>(MAX_ENTRIES + 1, .75F, false) { protected boolean removeEldestEntry(Map.Entry<Integer, String> 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}