Spec-Zone.ru › OpenJDK 24

Класс ArrayDeque<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.ArrayDeque<E>
Type Parameters:
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 с использованием массива переменного размера. Очереди с двумя концами типа ArrayDeque не имеют ограничений по емкости; они увеличиваются по мере необходимости для поддержки использования. Они не потокобезопасны; при отсутствии внешней синхронизации они не поддерживают одновременный доступ нескольких потоков. Элементы null запрещены. Этот класс, скорее всего, будет быстрее, чем Stack при использовании в качестве стека и быстрее, чем LinkedList при использовании в качестве очереди.

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

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

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

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

Этот класс является членом Java Collections Framework.

Since:
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)
Возвращает массив, содержащий все элементы в этом деке в правильном порядке (с первого по последний элемент); тип возвращаемого массива — тип указанного массива.

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

containsAll, toString

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

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

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

containsAll, equals, hashCode, parallelStream, stream, toArray

Методы, объявленные в интерфейсе java.util.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, если эта очередь пуста

удалитьПервоеВстретившееся

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

удалитьПоследнееВстретившееся

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

добавить

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

предложить

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

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

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

удалить

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

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

Указано в:
remove в интерфейсе Deque<E>
Указано в:
remove в интерфейсе Queue<E>
Возвращает:
голова очереди, представленной этим дека
Издаёт:
NoSuchElementException - если этот дек пустой

получитьИУдалить

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

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

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

элемент

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

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

Указано в:
element в интерфейсе Deque<E>
Указано в:
element в интерфейсе Queue<E>
Возвращает:
голова очереди, представленной этим дека
Издаёт:
NoSuchElementException - если этот дек пустой

получить

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

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

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

поместить

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

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

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

извлечь

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

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

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

размер

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

пустой

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

итератор

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

обратныйИтератор

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

spliterator

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

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

Specified by:
spliterator в интерфейсе Collection<E>
Specified by:
spliterator в интерфейсе Iterable<E>
Returns:
Spliterator по элементам в этой очереди с двумя концами
Since:
1.8

forEach

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

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

Specified by:
forEach в интерфейсе Iterable<E>
Parameters:
action - действие, которое должно выполняться для каждого элемента
Throws:
NullPointerException - если заданное действие равно null

removeIf

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

removeAll

public boolean removeAll(Collection<?> c)
Описание, скопированное из класса: AbstractCollection
Удаляет все элементы этого набора, которые также содержатся в указанном наборе (необязательная операция). После возвращения этого вызова этот набор не будет содержать элементов, общих с указанным набором.
Specified by:
removeAll в интерфейсе Collection<E>
Overrides:
removeAll в классе AbstractCollection<E>
Parameters:
c - набор, содержащий элементы, которые нужно удалить из этого набора
Returns:
true, если этот набор изменился в результате вызова
Throws:
NullPointerException - если этот набор содержит один или несколько null-элементов, а указанный набор не поддерживает null-элементы (необязательное) или если указанный набор равен null
See Also:
  • AbstractCollection.remove(Object)
  • AbstractCollection.contains(Object)

retainAll

public boolean retainAll(Collection<?> c)
Описание, скопированное из класса: AbstractCollection
Сохраняет только элементы этого набора, которые содержатся в указанном наборе (необязательная операция). Другими словами, удаляет из этого набора все его элементы, которые не содержатся в указанном наборе.
Specified by:
retainAll в интерфейсе Collection<E>
Overrides:
retainAll в классе AbstractCollection<E>
Parameters:
c - набор, содержащий элементы, которые нужно сохранить в этом наборе
Returns:
true, если этот набор изменился в результате вызова
Throws:
NullPointerException - если этот набор содержит один или несколько null-элементов, а указанный набор не допускает null-элементы (необязательное) или если указанный набор равен null
See Also:
  • AbstractCollection.remove(Object)
  • AbstractCollection.contains(Object)

contains

public boolean contains(Object o)
Возвращает true, если этот очередь с двумя концами содержит указанный элемент. Более формально, возвращает true тогда и только тогда, когда этот очередь с двумя концами содержит по крайней мере один элемент e, такой что o.equals(e).
Specified by:
contains в интерфейсе Collection<E>
Specified by:
contains в интерфейсе Deque<E>
Overrides:
contains в классе AbstractCollection<E>
Parameters:
o - объект, который нужно проверить на принадлежность к этому очереди с двумя концами
Returns:
true, если этот очередь с двумя концами содержит указанный элемент

remove

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

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

Specified by:
remove в интерфейсе Collection<E>
Specified by:
remove в интерфейсе Deque<E>
Overrides:
remove в классе AbstractCollection<E>
Parameters:
o - элемент, который нужно удалить из этого очереди с двумя концами, если он есть
Returns:
true, если этот очередь с двумя концами содержал указанный элемент

clear

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

toArray

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

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

Этот метод служит мостом между основанными на массивах и основанными на коллекциях API.

Specified by:
toArray в интерфейсе Collection<E>
Overrides:
toArray в классе AbstractCollection<E>
Returns:
массив, содержащий все элементы этого очереди с двумя концами

toArray

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

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

Как и метод toArray(), этот метод служит мостом между основанными на массиве и основанными на коллекциях 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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/ArrayDeque.html

Spec-Zone.ru

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