Я читаю файлы журнала, но не все строки хотят, чтобы их обрабатывали сразу. Я использую очередь/буфер для хранения строк, пока они ждут обработки.Лучшая коллекция для использования?
Эта очередь регулярно сканируется для определенных линий - при их обнаружении они удаляются из очереди (они могут быть где угодно в ней). Когда не будет найдена определенная строка, строки выводятся из очереди очереди один за другим для обработки.
Таким образом, очередь необходимо следующее:
- Возможность изменения размера (или такое впечатление)
- ли элементы удалены из любого
- ли элементы добавлены (всегда будет в конце очередь)
- Быстро сканируется
- В зависимости от производительности, указатель на то, где он был на последнем сканировании.
Первоначально я написал код, когда у меня было мало опыта Java или API, и просто использовал ArrayList, потому что я знал, что это сработает (не обязательно потому, что это был лучший вариант).
Его производительность в настоящее время становится бедной, и все больше журналов необходимо обрабатывать - так, какую коллекцию вы бы рекомендовали использовать в этой ситуации? Всегда есть возможность писать и мои собственные.
Thanks
Не будет ли связанный список медленным для поиска элементов, которые необходимо удалить? – 2008-11-13 10:17:21
Это будет одна из нижних сторон LinkedList, потенциально медленный поиск – 2008-11-13 10:56:22