Как удалить просроченные элементы из HashMap и одновременно добавить больше элементов — Java Timer, TimerTask и futures () — полный пример

Опубликовано: 2021-04-02
Как удалить элементы с истекшим сроком действия из HashMap и одновременно добавить больше элементов — Java Timer, TimerTask и futures()

Hashmap, ArrayList, Static Map, Vectors и т. д. являются наиболее часто используемыми элементами каркаса коллекций Java. Существует бесконечное количество сценариев, которые вы можете использовать в соответствии с вашими потребностями.

Этот пример очень интересный пример Java. Ниже мы собираемся выполнить операцию с одним HashMap().

  • Создать объект crunchifyMap
  • Продолжайте добавлять элемент на карту каждую секунду, время истечения которого установлено на 5 seconds .
  • Каждую секунду Check элемент с истекшим сроком действия, например кеш, и delete from map if expired
  • Через 5 секунд вы always same size и always 5 elements , поскольку вы добавляете и удаляете элементы с истекшим сроком действия каждую секунду.

Также, если у вас есть следующие below questions , то вы находитесь в правильном месте:

  • Что такое пассивный пример карты с истекающим сроком действия
  • Параллельная карта с элементом с истекшим временем ожидания
  • Пример карты кэша Java
  • Пример Java TimerTask
  • Evictor — пример параллельной карты Java

Давайте начнем:

Точка-1

  • Создать элемент таймера crunchifyTimer
  • Планирует указанную задачу CrunchifyReminder() для повторного выполнения с фиксированной задержкой, которая составляет 1 секунду.
  • В запланированном задании
    • add элемент в crunchifyMap
    • проверить элемент с истекшим сроком действия из crunchifyMap и удалить

Точка-2

  • Во время операции addElement()
    • Мы связываем current time для каждого элемента
  • Во время операции crunchifyClearExipredElementsFromMap()
    • Мы проверяем текущее время по времени элемента
    • Если разница во времени больше 5 секунд, просто удалите элемент из crunchifyMap.

Точка-3

  • Во время добавления и удаления элемента печати операции на консоли Eclipse
  • 1-й добавленный элемент будет удален 1-м и так далее
  • Пожалуйста, проверьте вывод консоли Eclipse для получения результата

Вот программа на Java:

Вывод консоли Eclipse:

Просто запустите вышеуказанную программу, и вы должны увидеть результат, как показано ниже.

Как удалить элементы с истекшим сроком действия из HashMap и одновременно добавить больше элементов — Java Timer, TimerTask и futures () — результат консоли

Дайте мне знать, если у вас возникнут какие-либо проблемы с запуском вышеприведенной программы Java.