我有一个场景,我有一个作为服务器侦听器的类。当我收到通知时,我会不断将一串值添加到ArrayList
. 我现在有从 this 中读取的线程ArrayList
。
这ArrayList
有可能变得非常大。我正在考虑生成一个线程,每 10 分钟检查一次是否已达到最大大小并删除添加的几行。
我想知道实现这一目标的最佳方法是什么?
我应该使用另一个 DS 吗?
我有一个场景,我有一个作为服务器侦听器的类。当我收到通知时,我会不断将一串值添加到ArrayList
. 我现在有从 this 中读取的线程ArrayList
。
这ArrayList
有可能变得非常大。我正在考虑生成一个线程,每 10 分钟检查一次是否已达到最大大小并删除添加的几行。
我想知道实现这一目标的最佳方法是什么?
我应该使用另一个 DS 吗?
您可能要考虑使用LinkedList
.
ArrayList LinkedList
add O(1)* O(1)
remove O(n) O(n)
Iterator.remove O(n) O(1)
insert O(n) O(1)
get O(1) O(n)
*ArrayList.add
如果需要调整数组大小,则在 O(n) 最坏情况下运行。