Deque (Double Ended Queue) — это линейная коллекция, которая поддерживает вставку и удаление элементов как с начала, так и с конца.
Основные характеристики:
Queue.addFirst, addLast, removeFirst, removeLast, peekFirst, peekLast и др.Основные реализации в Java:
ArrayDequeLinkedListСравнение ArrayDeque и LinkedList в качестве Deque:
| Характеристика | ArrayDeque | LinkedList |
|---|---|---|
| Внутренняя структура | Динамический массив | Двусвязный список |
| Производительность | Быстрая вставка/удаление с концов, последовательный доступ | Быстрая вставка/удаление с концов, медленный случайный доступ |
| Использование памяти | Эффективнее для примитивов, может требовать перераспределения | Больше накладных расходов на узлы, гибчее по размеру |
Пример использования ArrayDeque:
java