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}