Java 设置一个list 里面的元素五分钟后自动过期 代码示例
时间: 2023-11-12 12:03:51 浏览: 62
可以使用 Java 的 Timer 和 TimerTask 类来设置 list 中的元素过期时间。具体代码示例如下:
```
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
public class Demo {
private static ArrayList<String> list = new ArrayList<>();
public static void main(String[] args){
// 添加元素到 list 中
list.add("foo");
list.add("bar");
System.out.println("List before expiration: " + list);
// 设置定时器,5分钟后执行任务
Timer timer = new Timer();
timer.schedule(new ExpirationTask(), 5 * 60 * 1000);
// 保持主线程不退出,等待任务执行
while(true){}
}
// 定义任务类,用于自动删除元素
static class ExpirationTask extends TimerTask {
public void run() {
// 删除 list 中所有元素
list.clear();
System.out.println("List after expiration: " + list);
// 取消定时器
cancel();
}
}
}
```
在上面的示例中,我们创建了一个名为 `list` 的 ArrayList,并添加了一些元素。然后创建了一个 Timer 实例来设置定时任务,在 5 分钟后删除 list 中的所有元素。定时任务的实现是在 `ExpirationTask` 类中实现的,该类继承自 TimerTask,重写了 run() 方法,在该方法中删除 list 中的所有元素。最后,我们使用 while(true){} 代码块来防止主线程退出,等待定时任务执行完成。输出结果示例:
```
List before expiration: [foo, bar]
List after expiration: []
```