如何從 HashMap 中刪除過期元素並同時添加更多元素 – Java Timer、TimerTask 和 futures() – 完整示例

已發表: 2021-04-02
如何從 HashMap 中刪除過期元素並同時添加更多元素 - Java Timer、TimerTask 和 futures()

Hashmap、ArrayList、Static Map、Vectors等是最常用的Java集合框架元素。 您可以根據需要使用無數種場景。

這個例子是非常有趣的Java Example。 我們將對單個 HashMap() 執行以下操作。

  • 創建 crunchifyMap 對象
  • 每秒繼續向 Map 添加元素,過期時間設置為5 seconds
  • 每秒Check一次過期元素,如緩存delete from map if expired
  • 5 秒後,您將always same sizealways 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 控制台上添加和刪除操作打印元素期間
  • 第一個添加的元素將在第一個被刪除,依此類推
  • 請檢查 Eclipse 控制台輸出的結果

這是一個Java程序:

Eclipse 控制台輸出:

只需運行上面的程序,您應該會看到如下結果。

如何從 HashMap 中刪除過期元素並同時添加更多元素 - Java Timer、TimerTask 和 futures() - 控制台結果

如果您在 Java 程序上運行時遇到任何問題,請告訴我。