當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。