修复时间后删除HashMap

时间:2014-05-25 03:50:31

标签: java hashmap concurrenthashmap

我想在放置1/2小时后从hashmap中删除值。 请建议。

Ex: - 如果我在上午10:30在HashMap中放入一些数据,那么我想在上午11点将其删除。

1 个答案:

答案 0 :(得分:0)

您可以在java中使用Timer类。有关演示,请参阅此网站。http://www.tutorialspoint.com/java/util/timer_schedule_period.htm

否则,创建一个hashMap并添加一个对象作为键和添加为值的时间。

然后有一个名为delete的方法,它以毫秒为单位。有倒计时器功能,如果定时器到零,它应该返回true。

在delete方法的if条件中,检查IF条件是否为真,如果为真,则设置一个变量initialTime,即currentTime - 用户传递给delete方法的毫秒数。

然后迭代与initialTime匹配的hashmap并删除它。

这是粗略的算法

public void delete(Time inMilliSeconds){
     if(countDownTimer()){
         initialTime = CurrentTimeInstance - inMilliSeconds;
         //Iterate HashMap and delete all values which is equal to initialTime;
     }
}

public boolean countDownTimer(inMilliSeconds){
     //Timer that reduces to 00:00:00. After running down to zero return true.

}