So entfernen Sie abgelaufene Elemente aus HashMap und fügen gleichzeitig weitere Elemente hinzu – Java Timer, TimerTask und futures() – Vollständiges Beispiel

Veröffentlicht: 2021-04-02
So entfernen Sie abgelaufene Elemente aus HashMap und fügen gleichzeitig weitere Elemente hinzu - Java Timer, TimerTask und futures ()

Hashmap, ArrayList, Static Map, Vectors usw. sind die am häufigsten verwendeten Java-Collection-Framework-Elemente. Es gibt unendlich viele Szenarien, in denen Sie dies je nach Bedarf verwenden können.

Dieses Beispiel ist ein sehr interessantes Java-Beispiel. Wir werden die folgende Operation an einer einzelnen HashMap() ausführen.

  • Erstellen Sie ein crunchifyMap-Objekt
  • Fügen Sie jede Sekunde ein Element zur Karte hinzu, dessen Ablaufzeit auf 5 seconds eingestellt ist
  • Check jede Sekunde nach abgelaufenen Elementen wie Cache und delete from map if expired
  • Nach 5 Sekunden erhalten Sie always same size und always 5 elements da Sie jede Sekunde abgelaufene Elemente hinzufügen und löschen

Auch wenn Sie folgende below questions haben, dann sind Sie hier richtig:

  • Was ist ein passives ablaufendes Kartenbeispiel
  • Concurrent Map mit Timeout-Element
  • Beispiel für eine Java-Cache-Zuordnung
  • Java TimerTask-Beispiel
  • Evictor – ein Beispiel für eine Java Concurrent Map

Lass uns anfangen:

Punkt 1

  • Erstellen Sie das Timer-Element crunchifyTimer
  • Plant die angegebene Aufgabe CrunchifyReminder() für die wiederholte Ausführung mit fester Verzögerung, die 1 Sekunde beträgt
  • In geplanter Aufgabe
    • Element in crunchifyMap add
    • auf abgelaufenes Element von crunchifyMap prüfen und löschen

Punkt-2

  • Während der Operation addElement()
    • Wir ordnen jedem Element die current time zu
  • Während der Operation crunchifyClearExipredElementsFromMap()
    • Wir prüfen die aktuelle Zeit mit der Zeit des Elements
    • Wenn der Zeitunterschied mehr als 5 Sekunden beträgt, löschen Sie einfach das Element aus crunchifyMap

Punkt-3

  • Während des Hinzufügens und Entfernens wird das Element auf der Eclipse-Konsole gedruckt
  • Das erste hinzugefügte Element wird zuerst entfernt und so weiter
  • Bitte überprüfen Sie die Ausgabe der Eclipse-Konsole auf das Ergebnis

Hier ist ein Java-Programm:

Ausgabe der Eclipse-Konsole:

Führen Sie einfach das obige Programm aus und Sie sollten das Ergebnis wie unten sehen.

So entfernen Sie abgelaufene Elemente aus HashMap und fügen gleichzeitig weitere Elemente hinzu - Java Timer, TimerTask und futures() - Konsolenergebnis

Lassen Sie mich wissen, wenn Sie auf ein Problem stoßen, das über dem Java-Programm ausgeführt wird.