Comment supprimer des éléments expirés de HashMap et ajouter plus d'éléments en même temps - Java Timer, TimerTask et futures() - Exemple complet

Publié: 2021-04-02
Comment supprimer des éléments expirés de HashMap et ajouter plus d'éléments en même temps - Java Timer, TimerTask et futures()

Hashmap, ArrayList, Static Map, Vectors, etc. sont les éléments de framework de collection Java les plus utilisés. Il existe un nombre infini de scénarios que vous pouvez utiliser selon vos besoins.

Cet exemple est un exemple Java très intéressant. Nous allons effectuer l'opération ci-dessous sur un seul HashMap().

  • Créer un objet crunchifyMap
  • Continuez à ajouter un élément à la carte toutes les secondes dont le délai d'expiration est défini sur 5 seconds
  • Check les éléments expirés comme le cache toutes les secondes et delete from map if expired
  • Après 5 secondes, vous obtiendrez always same size et always 5 elements car vous ajoutez et supprimez des éléments expirés chaque seconde

De plus, si vous avez des below questions -dessous, vous êtes au bon endroit :

  • Qu'est-ce qu'un exemple de carte d'expiration passive
  • Carte simultanée avec élément expiré
  • Exemple de carte de cache Java
  • Exemple de tâche de minuterie Java
  • Evictor - un exemple de carte simultanée Java

Commençons:

Point-1

  • Créer un élément de minuterie crunchifyTimer
  • Planifie la tâche spécifiée CrunchifyReminder() pour une exécution répétée à délai fixe qui est de 1 seconde
  • Dans la tâche planifiée
    • add élément dans crunchifyMap
    • vérifier l'élément expiré de crunchifyMap et supprimer

Point-2

  • Pendant l'opération addElement()
    • Nous associons current time pour chaque élément
  • Pendant l'opération crunchifyClearExipredElementsFromMap()
    • Nous vérifions l'heure actuelle avec l'heure de l'élément
    • Si la différence de temps est supérieure à 5 secondes, supprimez simplement l'élément de crunchifyMap

Point-3

  • Pendant l'ajout et la suppression d'un élément d'impression sur la console Eclipse
  • Le 1er élément ajouté sera supprimé le 1er et ainsi de suite
  • Veuillez vérifier la sortie de la console Eclipse pour le résultat

Voici un programme Java :

Sortie de la console Eclipse :

Exécutez simplement le programme ci-dessus et vous devriez voir le résultat comme ci-dessous.

Comment supprimer des éléments expirés de HashMap et ajouter plus d'éléments en même temps - Java Timer, TimerTask et futures() - Résultat de la console

Faites-moi savoir si vous rencontrez un problème d'exécution au-dessus du programme Java.