Cómo eliminar elementos caducados de HashMap y agregar más elementos al mismo tiempo – Java Timer, TimerTask y futures() – Ejemplo completo

Publicado: 2021-04-02
Cómo eliminar elementos caducados de HashMap y agregar más elementos al mismo tiempo: Java Timer, TimerTask y futures()

Hashmap, ArrayList, Static Map, Vectores, etc. son los elementos del marco de trabajo de recopilación de Java más utilizados. Hay un número infinito de escenarios en los que podría usar esto según sus necesidades.

Este ejemplo es un ejemplo de Java muy interesante. Vamos a realizar la siguiente operación en un solo HashMap ().

  • Crear objeto crunchifyMap
  • Siga agregando elementos al mapa cada segundo que tenga un tiempo de caducidad establecido en 5 seconds
  • Check si hay elementos caducados como caché cada segundo y delete from map if expired
  • Después de 5 segundos, obtendrá always same size y always 5 elements a medida que agrega y elimina elementos caducados cada segundo

Además, si tiene las below questions , entonces está en el lugar correcto:

  • ¿Qué es el ejemplo de mapa de vencimiento pasivo?
  • Mapa concurrente con elemento agotado
  • Ejemplo de mapa de caché de Java
  • Ejemplo de Java TimerTask
  • Evictor: un ejemplo de mapa concurrente de Java

Empecemos:

Punto 1

  • Crear elemento de temporizador crunchifyTimer
  • Programa la tarea especificada CrunchifyReminder() para la ejecución repetida de retraso fijo que es de 1 segundo
  • En tarea programada
    • add elemento en crunchifyMap
    • verifique el elemento caducado de crunchifyMap y elimine

Punto-2

  • Durante la operación addElement()
    • Estamos asociando current time para cada elemento.
  • Durante la operación crunchifyClearExipredElementsFromMap()
    • Estamos comprobando la hora actual con la hora del elemento.
    • Si la diferencia de tiempo es más de 5 segundos, simplemente elimine el elemento de crunchifyMap

Punto-3

  • Durante la operación de agregar y quitar elemento de impresión en la consola de Eclipse
  • El primer elemento agregado se eliminará primero y así sucesivamente
  • Verifique la salida de la consola de Eclipse para ver el resultado

Aquí hay un programa Java:

Salida de la consola de Eclipse:

Simplemente ejecute el programa anterior y debería ver el resultado como se muestra a continuación.

Cómo eliminar elementos caducados de HashMap y agregar más elementos al mismo tiempo: Java Timer, TimerTask y futures () - Resultado de la consola

Avíseme si tiene algún problema al ejecutar el programa Java.