ログ ファイルを読んでいますが、すべての行をすぐに処理したいわけではありません。キュー/バッファを使用して、処理されるのを待っている間に行を保存しています。
このキューは定期的に特定の行をスキャンされます - それらが見つかると、それらはキューから削除されます (行はどこにでもあります)。特定の行が見つからない場合、行はキューの先頭から 1 行ずつ取り出されて処理されます。
したがって、キューには次のものが必要です。
- サイズ変更可能(またはその印象を与える)
- どこからでも要素を削除する
- 要素が追加されている (常にキューの最後にある)
- すばやくスキャン
- パフォーマンスに応じて、最後のスキャンで到達した場所のポインタを用意してください。
Java や API の経験がほとんどないときに最初にコードを書き、ArrayList が機能することを知っていたので (必ずしもそれが最適なオプションだったというわけではありません)、単に ArrayList を使用しました。
処理する必要のあるログがますます多くなり、パフォーマンスが低下しています。この状況で使用するためにどのコレクションをお勧めしますか? 自分で書く可能性も常にあります。
ありがとう