我想在放置1/2小时后从hashmap中删除值。 请建议。
Ex: - 如果我在上午10:30在HashMap中放入一些数据,那么我想在上午11点将其删除。
答案 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.
}