当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.util.LinkedHashMap.removeEldestEntry()用法及代码示例



描述

这个java.util.LinkedHashMap.removeEldestEntry()如果此映射应删除其最旧的条目,则方法返回 true。在将新条目插入Map后,put 和 putAll 会调用此方法。它为实现者提供了每次添加新条目时删除最旧条目的机会。如果映射代表缓存,这很有用:它允许映射通过删除陈旧条目来减少内存消耗。

声明

以下是声明java.util.LinkedHashMap.removeEldestEntry()方法

protected boolean removeEldestEntry(Map.Entry<K,V> eldest)

参数

eldest- 映射中最近最少插入的条目,或者如果这是 access-ordered 映射,则是最近最少访问的条目。这是将被删除的条目,此方法返回 true。如果在导致此调用的 put 或 putAll 调用之前映射为空,则这将是刚刚插入的条目;换句话说,如果Map包含单个条目,则最旧的条目也是最新的。

返回值

如果应该从Map中删除最旧的条目,则此方法返回 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}

相关用法


注:本文由纯净天空筛选整理自 Java.util.LinkedHashMap.removeEldestEntry() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。