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 に答える