Java 插入和删除值的最佳DS?
我有一个场景,其中有一个类是服务器的侦听器。收到通知后,我会不断向Java 插入和删除值的最佳DS?,java,data-structures,arraylist,Java,Data Structures,Arraylist,我有一个场景,其中有一个类是服务器的侦听器。收到通知后,我会不断向ArrayList添加一个值字符串。我现在有了从这个ArrayList读取的线程 这个ArrayList有可能变得非常庞大。我正在考虑生成一个线程,每10分钟检查一次是否已达到最大大小,并删除添加的几行 我想知道实现这一目标的最佳方式是什么 我应该使用另一个DS吗? 您可能需要考虑使用.< /p> *ArrayList.add在需要调整数组大小的最坏情况下运行O(n)。如果我是你,我不会提出自己的数据删除算法,而是坚持使用队列的实
ArrayList
添加一个值字符串。我现在有了从这个ArrayList
读取的线程
这个ArrayList
有可能变得非常庞大。我正在考虑生成一个线程,每10分钟检查一次是否已达到最大大小,并删除添加的几行
我想知道实现这一目标的最佳方式是什么
我应该使用另一个DS吗?
您可能需要考虑使用.< /p>*
ArrayList.add
在需要调整数组大小的最坏情况下运行O(n)。如果我是你,我不会提出自己的数据删除算法,而是坚持使用队列的实现。查看它们,看看它们是否符合您的需要。如果您说如果您已满,只想丢弃一些条目,建议您考虑使用循环队列。
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)