Como remover elementos expirados do HashMap e adicionar mais elementos ao mesmo tempo – Java Timer, TimerTask e futures() – Exemplo completo

Publicados: 2021-04-02
Como remover elementos expirados do HashMap e adicionar mais elementos ao mesmo tempo - Java Timer, TimerTask e futures()

Hashmap, ArrayList, Static Map, Vectors, etc são os elementos de framework de coleção Java mais usados. Há um número infinito de cenários que você pode usar isso conforme sua necessidade.

Este exemplo é muito interessante Exemplo Java. Vamos executar a operação abaixo em um único HashMap().

  • Criar objeto crunchifyMap
  • Continue adicionando elementos ao Map a cada segundo com tempo de expiração definido para 5 seconds
  • Check se há elementos expirados como cache a cada segundo e delete from map if expired
  • Após 5 segundos, você obterá always same size e always 5 elements à medida que adiciona e exclui elementos expirados a cada segundo

Além disso, se você tiver below questions então você está no lugar certo:

  • O que é exemplo de mapa de expiração passivo
  • Mapa simultâneo com elemento expirado
  • Exemplo de mapa de cache Java
  • Exemplo Java TimerTask
  • Evictor – um exemplo de mapa simultâneo Java

Vamos começar:

Ponto-1

  • Criar elemento Timer crunchifyTimer
  • Agenda a tarefa especificada CrunchifyReminder() para execução repetida de atraso fixo que é de 1 segundo
  • Na tarefa agendada
    • add elemento no crunchifyMap
    • verifique o elemento expirado do crunchifyMap e exclua

Ponto-2

  • Durante a operação addElement()
    • Estamos associando current time para cada elemento
  • Durante a operação crunchifyClearExipredElementsFromMap()
    • Estamos verificando a hora atual com a hora do elemento
    • Se a diferença de tempo for superior a 5 segundos, basta excluir o elemento do crunchifyMap

Ponto-3

  • Durante a operação de adição e remoção do elemento de impressão no console do Eclipse
  • 1º elemento adicionado será removido 1º e assim por diante
  • Verifique a saída do console do Eclipse para obter o resultado

Aqui está um programa Java:

Saída do console do Eclipse:

Basta executar o programa acima e você deverá ver o resultado abaixo.

Como remover elementos expirados do HashMap e adicionar mais elementos ao mesmo tempo - Java Timer, TimerTask e futures() - Resultado do Console

Deixe-me saber se você enfrentar qualquer problema executando acima do programa Java.