期限切れの要素を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 sizealways 5 elementsが取得されます

また、 below questionsがある場合は、適切な場所にいます。

  • パッシブ期限切れマップの例とは
  • タイムアウトした要素を持つ並行マップ
  • Javaキャッシュマップの例
  • JavaTimerTaskの例
  • Evictor –Javaコンカレントマップの例

始めましょう:

ポイント-1

  • タイマー要素crunchifyTimer作成します
  • 指定されたタスクCrunchifyReminder()を、1秒の固定遅延実行を繰り返すようにスケジュールします。
  • スケジュールされたタスク
    • crunchifyMapに要素をaddします
    • crunchifyMapから期限切れの要素を確認し、削除します

ポイント2

  • addElement()操作中
    • 各要素current timeを関連付けています
  • crunchifyClearExipredElementsFromMap()操作中
    • 要素の時刻で現在時刻を確認しています
    • 時間差が5秒を超える場合は、crunchifyMapから要素を削除するだけです。

ポイント-3

  • Eclipseコンソールでの追加および削除操作の印刷要素中
  • 最初に追加された要素は最初に削除されます。
  • 結果についてはEclipseコンソールの出力を確認してください

これがJavaプログラムです。

Eclipseコンソールの出力:

上記のプログラムを実行するだけで、以下のような結果が表示されます。

期限切れの要素をHashMapから削除し、同時に要素を追加する方法-Java Timer、TimerTask、futures()-コンソールの結果

Javaプログラムの上で実行中に問題が発生した場合は、お知らせください。