Java ArrayDeque
Запись массива Java
В этом уроке мы узнаем о классе ArrayDeque и его методах с помощью примеров. Кроме того, мы научимся использовать очередь массива для реализации стека.
В Java мы можем использовать 07 класс для реализации структур данных очереди и очереди с использованием массивов.
Интерфейсы, реализованные ArrayDeque
17 класс реализует эти два интерфейса:
- Интерфейс очереди Java
- Интерфейс Java Deque

Создание ArrayDeque
Чтобы создать очередь массива, мы должны импортировать 26 пакет.
Вот как мы можем создать очередь массивов в Java:
09
Здесь Введите указывает тип очереди массива. Например,
18<час>
Методы ArrayDeque
39 класс предоставляет реализации для всех методов, присутствующих в 49. и 53 интерфейс.
Вставить элементы в очередь
<сильный>1. Добавьте элементы, используя add(), addFirst() и addLast()
67- вставляет указанный элемент в конец очереди массива72- вставляет указанный элемент в начало двухсторонней очереди массива83- вставляет указанный в конец массива deque (эквивалентно92)
Примечание. Если очередь массива заполнена, все эти методы 105 , 115 и 128 выдает 132 .
Например,
26
Вывод
30
<сильный>2. Вставка элементов с помощью функций offer(), offerFirst() и offerLast()
143- вставляет указанный элемент в конец очереди массива154- вставляет указанный элемент в начало двухсторонней очереди массива166- вставляет указанный элемент в конец очереди массива
Примечание. 175 , 181 и 194 возвращает 208 если элемент успешно вставлен; если очередь массива заполнена, эти методы возвращают 211 .
Например,
48
Вывод
56
Примечание. Если очередь массива заполнена
225метод вызовет исключение234метод возвращает242
Доступ к элементам ArrayDeque
<сильный>1. Доступ к элементам с помощью getFirst() и getLast()
258- возвращает первый элемент очереди массива260- возвращает последний элемент массива deque
Примечание. Если очередь массива пуста, 270 и 280 выдает 291 .
Например,
69
Вывод
71
<сильный>2. Доступ к элементам с помощью методов peek(), peekFirst() и peekLast()
308- возвращает первый элемент очереди массива316- возвращает первый элемент очереди массива (эквивалентно328)334- возвращает последний элемент массива deque
Например,
87
Вывод
97
Примечание. Если очередь массива пуста, 346 , 356 и 369 выдает 370 .
Удалить элементы ArrayDeque
<сильный>1. Удаление элементов с помощью методов remove(), removeFirst(), removeLast()
380- возвращает и удаляет элемент из первого элемента очереди массива399- возвращает и удаляет указанный элемент из головы двухсторонней очереди массива403- возвращает и удаляет первый элемент из очереди массива (эквивалентно416)425- возвращает и удаляет последний элемент из очереди массива
Примечание. Если очередь массива пуста, 432 , 448 и 459 метод выдает исключение. Кроме того, 463 генерирует исключение, если элемент не найден.
Например,
105пре>Вывод
112<сильный>2. Удаление элементов с помощью методов poll(), pollFirst() и pollLast()
478- возвращает и удаляет первый элемент массива deque489- возвращает и удаляет первый элемент очереди массива (эквивалентно492)504- возвращает и удаляет последний элемент очереди массива
Примечание. Если очередь массива пуста, 518 , 520 и 538 возвращает 545 если элемент не найден.
Например,
127
Вывод
132
<сильный>3. Удалить элемент:с помощью метода clear()
Чтобы удалить все элементы из очереди массива, мы используем 551 метод. Например,
144
Вывод
157<час>
Итерация ArrayDeque
565- возвращает итератор, который можно использовать для перебора двухсторонней очереди массива575- возвращает итератор, который можно использовать для перебора двухсторонней очереди массива в обратном порядке
Чтобы использовать эти методы, мы должны импортировать 580 упаковка. Например,
163
Вывод
177<час>
Другие методы
| Методы | Описания |
|---|---|
597 | Возвращает элемент из головы двухсторонней очереди массива. |
600 | Выполняет поиск указанного элемента в двухсторонней очереди массива. Если элемент найден, он возвращает 617 , если нет, возвращает 628 . |
633 | Возвращает длину очереди массива. |
648 | Преобразует deque массива в массив и возвращает его. |
650 669 | Создает копию двухсторонней очереди массива и возвращает ее. |
ArrayDeque как стек
Чтобы внедрить LIFO (последним пришел – первым ушел) стеки в Java рекомендуется использовать deque поверх класса Stack. 673 класс, вероятно, будет быстрее, чем 682 класс.
696 предоставляет следующие методы, которые можно использовать для реализации стека.
701- добавляет элемент на вершину стека715- возвращает элемент с вершины стека724- возвращает и удаляет элемент из вершины стека
Например,
184
Вывод
195<час>
ArrayDeque Vs. Класс LinkedList
Оба 733 и Java LinkedList реализует 745 интерфейс. Однако между ними существуют некоторые различия.
758поддерживает761элементы, тогда как775нет.- Каждый узел в связанном списке содержит ссылки на другие узлы. Вот почему
783требуется больше места для хранения, чем795. - Если вы реализуете очередь или структуру данных deque,
809скорее всего будет быстрее, чем818.
java