Java LinkedHashMap removeEldestEntry()方法与示例

LinkedHashMap类removeEldestEntry()方法

  • removeEldestEntry()方法在java.util包中可用。

  • removeEldestEntry()方法用于检查是否删除最旧的条目。

  • removeEldestEntry()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • removeEldestEntry()方法在删除较旧的条目时不会引发异常。

语法:

    public boolean removeEldestEntry(Map.Entry ele_entry);

参数:

  • Map.Entry ele_entry –表示要从此LinkedHashMap中删除的最旧的条目或最近的条目。

返回值:

该方法的返回类型为boolean,当应从Map中删除最旧的条目时,它返回true,否则返回false。

示例

//Java程序演示示例 
//boolean removeEldestEntry(Map.Entry ele_entry)的
//LinkedHashMap的方法 

import java.util.*;

public class RemoveEldestEntryOfLinkedHashMap {
    public static void main(String[] args) {
        final int MAX_S = 5;

        //实例化LinkedHashMap对象
        Map < Integer, String > map = new LinkedHashMap < Integer, String > () {
            protected boolean removeEldestEntry(Map.Entry < Integer, String > eldest) {
                return size() > MAX_S;
            }
        };

        //通过使用put()方法是添加
        //LinkedHashMap中的键/值对
        map.put(10, "C");
        map.put(20, "C++");
        map.put(50, "JAVA");
        map.put(40, "PHP");
        map.put(30, "SFDC");

        //显示LinkedHashMap-
        System.out.println("LinkedHashMap: " + map);

        //通过使用removeEldestEntry()方法是
        //删除最老的条目并插入新的 
        //此LinkedHashMap中的一个
        map.put(60, "ANDROID");

        //显示LinkedHashMap-
        System.out.println("LinkedHashMap: " + map);
    }
}

输出结果

LinkedHashMap: {10=C, 20=C++, 50=JAVA, 40=PHP, 30=SFDC}
LinkedHashMap: {20=C++, 50=JAVA, 40=PHP, 30=SFDC, 60=ANDROID}