Spec-Zone.ru › OpenJDK 25

Класс ArrayDeque<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.ArrayDeque<E>
Параметры типа:
E — тип элементов, хранящихся в этой двусторонней очереди
Все реализуемые интерфейсы:
Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, Queue<E>, SequencedCollection<E>
public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializable
Реализация интерфейса Deque на основе массива с изменяемым размером. Размер массивных двусторонних очередей не ограничен; при необходимости они увеличиваются для поддержки использования. Они не являются потокобезопасными; при отсутствии внешней синхронизации они не поддерживают одновременный доступ из нескольких потоков. Элементы null запрещены. При использовании в качестве стека этот класс, вероятно, работает быстрее, чем Stack, а при использовании в качестве очереди — быстрее, чем LinkedList.

Большинство операций ArrayDeque выполняются за амортизированное постоянное время. Исключения составляют remove, removeFirstOccurrence, removeLastOccurrence, contains, iterator.remove() и массовые операции, которые выполняются за линейное время.

Итераторы, возвращаемые методом iterator этого класса, являются быстро отказывающими: если после создания итератора двусторонняя очередь изменяется каким-либо образом, кроме вызова собственного метода remove итератора, итератор, как правило, выбрасывает исключение ConcurrentModificationException. Таким образом, при одновременном изменении коллекции итератор быстро и корректно завершается с ошибкой, вместо того чтобы рисковать произвольным, недетерминированным поведением в неопределенный момент в будущем.

Обратите внимание, что быстрое завершение итератора с ошибкой не может быть гарантировано, поскольку, вообще говоря, невозможно дать строгие гарантии при несинхронизированном одновременном изменении коллекции. Быстро отказывающие итераторы выбрасывают ConcurrentModificationException по возможности. Поэтому было бы неправильно писать программу, корректность которой зависит от этого исключения: быстрое завершение итераторов с ошибкой следует использовать только для обнаружения ошибок.

Этот класс и его итератор реализуют все необязательные методы интерфейсов Collection, SequencedCollection и Iterator.

Этот класс является частью фреймворка коллекций Java.

Начиная с:
1.6
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
ArrayDeque()
Создает пустую массивную двустороннюю очередь с начальной емкостью, достаточной для хранения 16 элементов.
ArrayDeque(int numElements)
Создает пустую массивную двустороннюю очередь с начальной емкостью, достаточной для хранения указанного количества элементов.
ArrayDeque(Collection<? extends E> c)
Создает двустороннюю очередь, содержащую элементы указанной коллекции в том порядке, в котором их возвращает итератор коллекции.

Краткое описание методов

Модификатор и тип Метод Описание
boolean add(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этой двусторонней очереди, как если бы для каждого из них в порядке, в котором их возвращает итератор коллекции, был вызван метод addLast(E).
void addFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди.
void addLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.
void clear()
Удаляет все элементы из этой двусторонней очереди.
ArrayDeque<E> clone()
Возвращает копию этой двусторонней очереди.
boolean contains(Object o)
Возвращает true, если эта двусторонняя очередь содержит указанный элемент.
Iterator<E> descendingIterator()
Возвращает итератор по элементам этой двусторонней очереди в обратном порядке.
E element()
Извлекает, но не удаляет начало очереди, представленной этой двусторонней очередью.
void forEach(Consumer<? super E> action)
Выполняет указанное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение.
E getFirst()
Извлекает, но не удаляет первый элемент этой двусторонней очереди.
E getLast()
Извлекает, но не удаляет последний элемент этой двусторонней очереди.
boolean isEmpty()
Возвращает true, если эта двусторонняя очередь не содержит элементов.
Iterator<E> iterator()
Возвращает итератор по элементам этой двусторонней очереди.
boolean offer(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.
boolean offerFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди.
boolean offerLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.
E peek()
Извлекает, но не удаляет начало очереди, представленной этой двусторонней очередью, или возвращает null, если эта двусторонняя очередь пуста.
E peekFirst()
Извлекает, но не удаляет первый элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
E peekLast()
Извлекает, но не удаляет последний элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
E poll()
Извлекает и удаляет начало очереди, представленной этой двусторонней очередью (то есть первый элемент этой двусторонней очереди), или возвращает null, если эта двусторонняя очередь пуста.
E pollFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
E pollLast()
Извлекает и удаляет последний элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
E pop()
Извлекает элемент из стека, представленного этой двусторонней очередью.
void push(E e)
Помещает элемент в стек, представленный этой двусторонней очередью.
E remove()
Извлекает и удаляет начало очереди, представленной этой двусторонней очередью.
boolean remove(Object o)
Удаляет один экземпляр указанного элемента из этой двусторонней очереди.
boolean removeAll(Collection<?> c)
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции (необязательная операция).
E removeFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди.
boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента в этой двусторонней очереди (при обходе от начала к концу).
boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
E removeLast()
Извлекает и удаляет последний элемент этой двусторонней очереди.
boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента в этой двусторонней очереди (при обходе от начала к концу).
boolean retainAll(Collection<?> c)
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция).
int size()
Возвращает количество элементов в этой двусторонней очереди.
Spliterator<E> spliterator()
Создает привязываемый с задержкой и быстро отказывающий Spliterator для элементов этой двусторонней очереди.
Object[] toArray()
Возвращает массив, содержащий все элементы этой двусторонней очереди в надлежащем порядке (от первого элемента к последнему).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этой двусторонней очереди в надлежащем порядке (от первого элемента к последнему); тип во время выполнения возвращаемого массива совпадает с типом указанного массива.

Методы, объявленные в классе AbstractCollection

containsAll, toString

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе Collection

containsAll, equals, hashCode, parallelStream, stream, toArray

Методы, объявленные в интерфейсе Deque

reversed

Подробное описание конструкторов

ArrayDeque

public ArrayDeque()
Создает пустую двустороннюю очередь на основе массива с начальной емкостью, достаточной для хранения 16 элементов.

ArrayDeque

public ArrayDeque(int numElements)
Создает пустую двустороннюю очередь на основе массива с начальной емкостью, достаточной для хранения указанного числа элементов.
Параметры:
numElements — нижняя граница начальной емкости очереди

ArrayDeque

public ArrayDeque(Collection<? extends E> c)
Создает двустороннюю очередь, содержащую элементы указанной коллекции в порядке их возвращения итератором коллекции. (Первый элемент, возвращенный итератором коллекции, становится первым элементом, или началом очереди.)
Параметры:
c — коллекция, элементы которой помещаются в очередь
Исключения:
NullPointerException — если указанная коллекция равна null

Подробное описание методов

addFirst

public void addFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди.
Определен в:
addFirst в интерфейсе Deque<E>
Определен в:
addFirst в интерфейсе SequencedCollection<E>
Параметры:
e — добавляемый элемент
Исключения:
NullPointerException — если указанный элемент равен null

addLast

public void addLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.

Этот метод эквивалентен add(E).

Определен в:
addLast в интерфейсе Deque<E>
Определен в:
addLast в интерфейсе SequencedCollection<E>
Параметры:
e — добавляемый элемент
Исключения:
NullPointerException — если указанный элемент равен null

addAll

public boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этой двусторонней очереди, вызывая addLast(E) для каждого из них в порядке их возвращения итератором коллекции.
Определен в:
addAll в интерфейсе Collection<E>
Определен в:
addAll в интерфейсе Deque<E>
Переопределяет:
addAll в классе AbstractCollection<E>
Параметры:
c — элементы, которые нужно вставить в эту двустороннюю очередь
Возвращает:
true — если в результате вызова эта двусторонняя очередь изменилась
Исключения:
NullPointerException — если указанная коллекция или любой из ее элементов равны null
См. также:
  • AbstractCollection.add(Object)

offerFirst

public boolean offerFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди.
Определен в:
offerFirst в интерфейсе Deque<E>
Параметры:
e — добавляемый элемент
Возвращает:
true (как указано в Deque.offerFirst(E))
Исключения:
NullPointerException — если указанный элемент равен null

offerLast

public boolean offerLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.
Определен в:
offerLast в интерфейсе Deque<E>
Параметры:
e — добавляемый элемент
Возвращает:
true (как указано в Deque.offerLast(E))
Исключения:
NullPointerException — если указанный элемент равен null

removeFirst

public E removeFirst()
Описание скопировано из интерфейса: Deque
Извлекает и удаляет первый элемент этой двусторонней очереди. Этот метод отличается от pollFirst только тем, что выбрасывает исключение, если эта очередь пуста.
Определен в:
removeFirst в интерфейсе Deque<E>
Определен в:
removeFirst в интерфейсе SequencedCollection<E>
Возвращает:
первый элемент этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

removeLast

public E removeLast()
Описание скопировано из интерфейса: Deque
Извлекает и удаляет последний элемент этой двусторонней очереди. Этот метод отличается от pollLast только тем, что выбрасывает исключение, если эта очередь пуста.
Определен в:
removeLast в интерфейсе Deque<E>
Определен в:
removeLast в интерфейсе SequencedCollection<E>
Возвращает:
последний элемент этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

pollFirst

public E pollFirst()
Описание скопировано из интерфейса: Deque
Извлекает и удаляет первый элемент этой двусторонней очереди или возвращает null, если очередь пуста.
Определен в:
pollFirst в интерфейсе Deque<E>
Возвращает:
первый элемент этой двусторонней очереди или null, если очередь пуста

pollLast

public E pollLast()
Описание скопировано из интерфейса: Deque
Извлекает и удаляет последний элемент этой двусторонней очереди или возвращает null, если очередь пуста.
Определен в:
pollLast в интерфейсе Deque<E>
Возвращает:
последний элемент этой двусторонней очереди или null, если очередь пуста

getFirst

public E getFirst()
Описание скопировано из интерфейса: Deque
Извлекает, но не удаляет первый элемент этой двусторонней очереди. Этот метод отличается от peekFirst только тем, что выбрасывает исключение, если эта очередь пуста.
Определен в:
getFirst в интерфейсе Deque<E>
Определен в:
getFirst в интерфейсе SequencedCollection<E>
Возвращает:
первый элемент этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

getLast

public E getLast()
Описание скопировано из интерфейса: Deque
Извлекает, но не удаляет последний элемент этой двусторонней очереди. Этот метод отличается от peekLast только тем, что выбрасывает исключение, если эта очередь пуста.
Определен в:
getLast в интерфейсе Deque<E>
Определен в:
getLast в интерфейсе SequencedCollection<E>
Возвращает:
последний элемент этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

peekFirst

public E peekFirst()
Описание скопировано из интерфейса: Deque
Извлекает, но не удаляет первый элемент этой двусторонней очереди или возвращает null, если очередь пуста.
Определен в:
peekFirst в интерфейсе Deque<E>
Возвращает:
первый элемент этой двусторонней очереди или null, если очередь пуста

peekLast

public E peekLast()
Описание скопировано из интерфейса: Deque
Извлекает, но не удаляет последний элемент этой двусторонней очереди или возвращает null, если очередь пуста.
Определен в:
peekLast в интерфейсе Deque<E>
Возвращает:
последний элемент этой двусторонней очереди или null, если очередь пуста

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента в этой двусторонней очереди (при обходе от начала к концу). Если очередь не содержит этот элемент, она остается без изменений. Формально удаляется первый элемент e, такой что o.equals(e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).
Определен в:
removeFirstOccurrence в интерфейсе Deque<E>
Параметры:
o — элемент, который нужно удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если очередь содержала указанный элемент

removeLastOccurrence

public boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента в этой двусторонней очереди (при обходе от начала к концу). Если очередь не содержит этот элемент, она остается без изменений. Формально удаляется последний элемент e, такой что o.equals(e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).
Определен в:
removeLastOccurrence в интерфейсе Deque<E>
Параметры:
o — элемент, который нужно удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если очередь содержала указанный элемент

add

public boolean add(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.

Этот метод эквивалентен addLast(E).

Определен в:
add в интерфейсе Collection<E>
Определен в:
add в интерфейсе Deque<E>
Определен в:
add в интерфейсе Queue<E>
Переопределяет:
add в классе AbstractCollection<E>
Параметры:
e — добавляемый элемент
Возвращает:
true (как указано в Collection.add(E))
Исключения:
NullPointerException — если указанный элемент равен null

offer

public boolean offer(E e)
Вставляет указанный элемент в конец этой двусторонней очереди.

Этот метод эквивалентен offerLast(E).

Определен в:
offer в интерфейсе Deque<E>
Определен в:
offer в интерфейсе Queue<E>
Параметры:
e — добавляемый элемент
Возвращает:
true (как указано в Queue.offer(E))
Исключения:
NullPointerException — если указанный элемент равен null

remove

public E remove()
Извлекает и удаляет начало очереди, представленной этой двусторонней очередью. Этот метод отличается от poll() только тем, что выбрасывает исключение, если эта очередь пуста.

Этот метод эквивалентен removeFirst().

Определен в:
remove в интерфейсе Deque<E>
Определен в:
remove в интерфейсе Queue<E>
Возвращает:
начало очереди, представленной этой двусторонней очередью
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

poll

public E poll()
Извлекает и удаляет начало очереди, представленной этой двусторонней очередью (то есть первый элемент этой двусторонней очереди), или возвращает null, если очередь пуста.

Этот метод эквивалентен pollFirst().

Определен в:
poll в интерфейсе Deque<E>
Определен в:
poll в интерфейсе Queue<E>
Возвращает:
начало очереди, представленной этой двусторонней очередью, или null, если очередь пуста

element

public E element()
Извлекает, но не удаляет начало очереди, представленной этой двусторонней очередью. Этот метод отличается от peek только тем, что выбрасывает исключение, если эта очередь пуста.

Этот метод эквивалентен getFirst().

Определен в:
element в интерфейсе Deque<E>
Определен в:
element в интерфейсе Queue<E>
Возвращает:
начало очереди, представленной этой двусторонней очередью
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

peek

public E peek()
Извлекает, но не удаляет начало очереди, представленной этой двусторонней очередью, или возвращает null, если очередь пуста.

Этот метод эквивалентен peekFirst().

Определен в:
peek в интерфейсе Deque<E>
Определен в:
peek в интерфейсе Queue<E>
Возвращает:
начало очереди, представленной этой двусторонней очередью, или null, если очередь пуста

push

public void push(E e)
Помещает элемент в стек, представленный этой двусторонней очередью. Иными словами, вставляет элемент в начало этой двусторонней очереди.

Этот метод эквивалентен addFirst(E).

Определен в:
push в интерфейсе Deque<E>
Параметры:
e — помещаемый в стек элемент
Исключения:
NullPointerException — если указанный элемент равен null

pop

public E pop()
Извлекает элемент из стека, представленного этой двусторонней очередью. Иными словами, удаляет и возвращает первый элемент этой двусторонней очереди.

Этот метод эквивалентен removeFirst().

Определен в:
pop в интерфейсе Deque<E>
Возвращает:
элемент в начале этой двусторонней очереди (то есть вершину стека, представленного этой очередью)
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

size

public int size()
Возвращает число элементов в этой двусторонней очереди.
Определен в:
size в интерфейсе Collection<E>
Определен в:
size в интерфейсе Deque<E>
Возвращает:
число элементов в этой двусторонней очереди

isEmpty

public boolean isEmpty()
Возвращает true, если эта двусторонняя очередь не содержит элементов.
Определен в:
isEmpty в интерфейсе Collection<E>
Переопределяет:
isEmpty в классе AbstractCollection<E>
Возвращает:
true, если эта двусторонняя очередь не содержит элементов

iterator

public Iterator<E> iterator()
Возвращает итератор по элементам этой двусторонней очереди. Элементы располагаются от первого (начала) до последнего (конца). Это тот же порядок, в котором элементы извлекались бы из очереди (при последовательных вызовах remove()) или извлекались бы из стека (при последовательных вызовах pop()).
Определен в:
iterator в интерфейсе Collection<E>
Определен в:
iterator в интерфейсе Deque<E>
Определен в:
iterator в интерфейсе Iterable<E>
Определен в:
iterator в классе AbstractCollection<E>
Возвращает:
итератор по элементам этой двусторонней очереди

descendingIterator

public Iterator<E> descendingIterator()
Описание скопировано из интерфейса: Deque
Возвращает итератор по элементам этой двусторонней очереди в обратном порядке. Элементы возвращаются от последнего (конца) к первому (началу).
Определен в:
descendingIterator в интерфейсе Deque<E>
Возвращает:
итератор по элементам этой двусторонней очереди в обратном порядке

spliterator

public Spliterator<E> spliterator()
Создает поздно связываемый и быстро завершающийся при структурных изменениях Spliterator для элементов этой двусторонней очереди.

Объект Spliterator сообщает характеристики Spliterator.SIZED, Spliterator.SUBSIZED, Spliterator.ORDERED и Spliterator.NONNULL. Переопределяющие реализации должны документировать сведения о дополнительных характеристиках.

Определен в:
spliterator в интерфейсе Collection<E>
Определен в:
spliterator в интерфейсе Iterable<E>
Возвращает:
Spliterator для элементов этой двусторонней очереди
Начиная с версии:
1.8

forEach

public void forEach(Consumer<? super E> action)
Описание скопировано из интерфейса: Iterable
Выполняет указанное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение. Действия выполняются в порядке итерации, если этот порядок определен. Исключения, выброшенные действием, передаются вызывающему коду.

Поведение этого метода не определено, если действие выполняет побочные эффекты, изменяющие исходный набор элементов, если только переопределяющий класс не определил политику параллельной модификации.

Определен в:
forEach в интерфейсе Iterable<E>
Параметры:
action — действие, выполняемое для каждого элемента
Исключения:
NullPointerException — если указанное действие равно null

removeIf

public boolean removeIf(Predicate<? super E> filter)
Описание скопировано из интерфейса: Collection
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция). Ошибки или исключения времени выполнения, выброшенные при итерации или предикатом, передаются вызывающему коду.
Определен в:
removeIf в интерфейсе Collection<E>
Параметры:
filter — предикат, возвращающий true для элементов, подлежащих удалению
Возвращает:
true, если были удалены какие-либо элементы
Исключения:
NullPointerException — если указанный фильтр равен null

removeAll

public boolean removeAll(Collection<?> c)
Описание скопировано из класса: AbstractCollection
Удаляет из этой коллекции все элементы, которые содержатся также в указанной коллекции (необязательная операция). После завершения вызова эта коллекция не будет содержать общих элементов с указанной коллекцией.
Определен в:
removeAll в интерфейсе Collection<E>
Переопределяет:
removeAll в классе AbstractCollection<E>
Параметры:
c — коллекция, содержащая элементы, которые нужно удалить из этой коллекции
Возвращает:
true, если в результате вызова эта коллекция изменилась
Исключения:
NullPointerException — если эта коллекция содержит один или несколько элементов null, а указанная коллекция не поддерживает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • AbstractCollection.remove(Object)
  • AbstractCollection.contains(Object)

retainAll

public boolean retainAll(Collection<?> c)
Описание скопировано из класса: AbstractCollection
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция). Иными словами, удаляет из этой коллекции все элементы, которые не содержатся в указанной коллекции.
Определен в:
retainAll в интерфейсе Collection<E>
Переопределяет:
retainAll в классе AbstractCollection<E>
Параметры:
c — коллекция, содержащая элементы, которые нужно оставить в этой коллекции
Возвращает:
true, если в результате вызова эта коллекция изменилась
Исключения:
NullPointerException — если эта коллекция содержит один или несколько элементов null, а указанная коллекция не допускает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • AbstractCollection.remove(Object)
  • AbstractCollection.contains(Object)

contains

public boolean contains(Object o)
Возвращает true, если эта двусторонняя очередь содержит указанный элемент. Формально возвращает true тогда и только тогда, когда эта двусторонняя очередь содержит хотя бы один элемент e, такой что o.equals(e).
Определен в:
contains в интерфейсе Collection<E>
Определен в:
contains в интерфейсе Deque<E>
Переопределяет:
contains в классе AbstractCollection<E>
Параметры:
o — объект, наличие которого в этой двусторонней очереди нужно проверить
Возвращает:
true, если эта двусторонняя очередь содержит указанный элемент

remove

public boolean remove(Object o)
Удаляет один экземпляр указанного элемента из этой двусторонней очереди. Если очередь не содержит этот элемент, она остается без изменений. Формально удаляется первый элемент e, такой что o.equals(e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).

Этот метод эквивалентен removeFirstOccurrence(Object).

Определен в:
remove в интерфейсе Collection<E>
Определен в:
remove в интерфейсе Deque<E>
Переопределяет:
remove в классе AbstractCollection<E>
Параметры:
o — элемент, который нужно удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если эта двусторонняя очередь содержала указанный элемент

clear

public void clear()
Удаляет все элементы из этой двусторонней очереди. После завершения вызова очередь будет пуста.
Определен в:
clear в интерфейсе Collection<E>
Переопределяет:
clear в классе AbstractCollection<E>

toArray

public Object[] toArray()
Возвращает массив, содержащий все элементы этой двусторонней очереди в надлежащем порядке (от первого элемента до последнего).

Возвращаемый массив будет «безопасным», поскольку эта двусторонняя очередь не хранит на него ссылок. (Иными словами, этот метод должен выделить новый массив.) Таким образом, вызывающий код может свободно изменять возвращённый массив.

Этот метод служит связующим звеном между API на основе массивов и API на основе коллекций.

Указано в:
toArray в интерфейсе Collection<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Возвращает:
массив, содержащий все элементы этой двусторонней очереди

toArray

public <T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этой двусторонней очереди в надлежащем порядке (от первого элемента до последнего); тип времени выполнения возвращённого массива совпадает с типом указанного массива. Если двусторонняя очередь помещается в указанный массив, она возвращается в нём. В противном случае выделяется новый массив с типом времени выполнения указанного массива и размером этой двусторонней очереди.

Если двусторонняя очередь помещается в указанный массив с запасом места (то есть массив содержит больше элементов, чем эта двусторонняя очередь), элемент массива, расположенный сразу после конца двусторонней очереди, устанавливается в значение null.

Как и метод toArray(), этот метод служит связующим звеном между API на основе массивов и API на основе коллекций. Кроме того, этот метод позволяет точно контролировать тип времени выполнения выходного массива и при определённых обстоятельствах может помочь сократить затраты на выделение памяти.

Предположим, что x — это двусторонняя очередь, содержащая только строки. Следующий код можно использовать, чтобы поместить элементы очереди в новый выделенный массив типа String:

 String[] y = x.toArray(new String[0]);
Обратите внимание, что toArray(new Object[0]) функционально идентичен toArray().
Указано в:
toArray в интерфейсе Collection<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Параметры типа:
T — тип компонентов массива, в который будет помещена коллекция
Параметры:
a — массив, в который будут помещены элементы двусторонней очереди, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа времени выполнения
Возвращает:
массив, содержащий все элементы этой двусторонней очереди
Вызывает исключения:
ArrayStoreException — если тип времени выполнения указанного массива не является супертипом типа времени выполнения каждого элемента этой двусторонней очереди
NullPointerException — если указанный массив равен null

clone

public ArrayDeque<E> clone()
Возвращает копию этой двусторонней очереди.
Переопределяет:
clone в классе Object
Возвращает:
копию этой двусторонней очереди
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayDeque.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API