ArrayDeque<E> – класс, представляющий обобщенную двунаправленную очередь, наследуя функционал от класса AbstractCollection и применяя интерфейс Deque.
Для хранения объектов ArrayDeque<E> использует массив. По умолчанию данный массив предназначен для 16 объектов. Если в процессе программы добавляется больше объектов, то создается новый массив, который может вместить в себя все количество, что приводит к снижению производительности. Поэтому желательно сразу указывать количество элементов при создании списка:
Методы:
ArrayDeque обеспечивает возможность:
добавления элемента в начало или конец списка
добавление одного списка или его части в другой
возвращение элемента из очереди с последующим удалением или без удаления
удаление указанного элемента из очереди
Кроме того, ArrayDeque реализует методы интерфейсов Serializable, Cloneable, Iterable<Е>, Collection<Е>, Deque<Е>, Deque<Queue>.
ArrayDeque не умеет работать с примитивными типами, его можно параметризировать только объектом. Поэтому для параметризирования примитивами используются классы-оболочки (wrappers).