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