Я ищу структуру данных, которая:
- Имеет неограниченный размер.
- Поддерживает порядок вставки его элементов.
- Вставляет эффективно в начало и конец списка (идеально в постоянное время).
- Вставляет эффективно до или после существующего элемента (идеально в постоянное время).
Я исключил ArrayList
потому что он неэффективен при вставке в начале списка.
На поверхности LinkedList
должно быть идеально, но на практике реализация Java неэффективна при вставке до или после существующих элементов (т.е. Она просматривает весь список, чтобы найти позицию вставки).
(Мне лично не нужно хранить повторяющиеся элементы, но другие могут)
Мотивация: я создаю очередь событий, которая позволяет иногда обманывать (вставлять до или после существующего события).