0

我有一个场景,我有一个作为服务器侦听器的类。当我收到通知时,我会不断将一串值添加到ArrayList. 我现在有从 this 中读取的线程ArrayList

ArrayList有可能变得非常大。我正在考虑生成一个线程,每 10 分钟检查一次是否已达到最大大小并删除添加的几行。

我想知道实现这一目标的最佳方法是什么?

我应该使用另一个 DS 吗?

4

1 回答 1

0

您可能要考虑使用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) 最坏情况下运行。

于 2012-05-24T22:11:30.103 回答