O método java.util.LinkedHashMap.removeEldestEntry() em Java é usado para controlar se o mapa remove alguma entrada mais antiga do mapa. Portanto, cada vez que um novo elemento é adicionado ao LinkedHashMap, a entrada mais antiga é removida do mapa. Esse método geralmente é chamado após a adição dos elementos no mapa pelo uso dos métodos put() e putall().
Este método permite que o mapa se modifique conforme direcionado por seu valor de retorno. Embora o método tenha permissão para modificar o mapa diretamente, se o fizer, ele deve retornar false, o que será indicativo do fato de que o mapa não deve tentar nenhuma modificação adicional que leve à ambigüidade. Os efeitos de retornar true após modificar o mapa de dentro desse método não são especificados.
Isso é muito útil quando o mapa representa um cache onde permite que o mapa reduza o consumo de memória excluindo entradas obsoletas uma após a outra. 
Sintaxe: 

private boolean removeEldestEntry(Map.Entry eldest)

Parâmetros: o método aceita um parâmetro mais antigo que se refere à entrada menos recentemente inserida no mapa. Se o mapa for da ordem de acesso, o mais antigo se refere à entrada menos acessada recentemente e será removido se este método retornar verdadeiro. Se o mapa estava vazio antes da chamada put ou putAll, essa será a entrada que acabou de ser inserida; em outras palavras, se o mapa contém uma única entrada, a entrada mais antiga também é a entrada mais recente e mais recente.
Valor de retorno: O mapa retorna verdadeiro se a entrada mais antiga deve ser removida do mapa e falso se a entrada não deve ser removida ou retida.
O programa abaixo é usado para ilustrar o funcionamento do método java.util.LinkedHashMap.removeEldestEntry(): 
 

// Java program to illustrate removeEldestEntry()
import java.util.*;
 
public class Linked_Hash_Map_Demo {
 
    // Refers to the max size of the map following which
    // the removal takes place of the eldest entry
    private static final int MAX = 6;
 
    public static void main(String[] args)
    {
 
        // Creating the linked hashmap and implementing
        // removeEldestEntry() to MAX size
        LinkedHashMap<Integer, String> li_hash_map =
        new LinkedHashMap<Integer, String>() {
            protected boolean removeEldestEntry(Map.Entry<Integer, String> eldest)
            {
                return size() > MAX;
            }
        };
        // Adding elements using put()
        li_hash_map.put(0, "Welcome");
        li_hash_map.put(1, "To");
        li_hash_map.put(2, "The");
        li_hash_map.put(3, "World");
        li_hash_map.put(4, "Of");
        li_hash_map.put(5, "geeks");
 
        System.out.println("" + li_hash_map);
 
        // Adding more elements
        li_hash_map.put(6, "GeeksforGeeks");
 
        // Displaying the map after adding one more element
        System.out.println("" + li_hash_map);
 
        // Adding more elements
        li_hash_map.put(7, "Hello");
 
        // Displaying the map after adding one more element
        System.out.println("" + li_hash_map);
    }
}
Saída: 
{0 = Bem-vindo, 1 = Para, 2 = O, 3 = Mundo, 4 = De, 5 = geeks}
{1 = To, 2 = The, 3 = World, 4 = Of, 5 = geeks, 6 = GeeksforGeeks}
{2 = The, 3 = World, 4 = Of, 5 = geeks, 6 = GeeksforGeeks, 7 = Hello}

 

Referência: https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html#removeEldestEntry-java.util.Map.Entry-