Spec-Zone.ru › OpenJDK 25

Класс ConcurrentLinkedDeque<E>

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

Итераторы и сплитераторы являются слабо согласованными.

Обратите внимание: в отличие от большинства коллекций, метод size НЕ является операцией с постоянным временем выполнения. Из-за асинхронной природы таких двусторонних очередей определение текущего числа элементов требует обхода элементов и поэтому может дать неточный результат, если эта коллекция изменяется во время обхода.

Массовые операции, добавляющие, удаляющие или проверяющие несколько элементов, например addAll(Collection), removeIf(Predicate) или forEach(Consumer), не гарантируют атомарное выполнение. Например, обход forEach, выполняемый одновременно с операцией addAll, может увидеть лишь некоторые добавленные элементы.

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

Эффекты согласованности памяти: как и в случае с другими конкурентными коллекциями, действия в потоке, предшествующие помещению объекта в ConcurrentLinkedDeque, происходят-перед действиями, следующими за доступом к этому элементу или его удалением из ConcurrentLinkedDeque в другом потоке.

Этот класс входит в состав Java Collections Framework.

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

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

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

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

Модификатор и тип Метод Описание
boolean add(E e)
Вставляет заданный элемент в конец этой двусторонней очереди.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы заданной коллекции в конец этой двусторонней очереди в том порядке, в котором их возвращает итератор заданной коллекции.
void addFirst(E e)
Вставляет заданный элемент в начало этой двусторонней очереди.
void addLast(E e)
Вставляет заданный элемент в конец этой двусторонней очереди.
void clear()
Удаляет все элементы из этой двусторонней очереди.
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)
Помещает элемент в стек, представленный этой двусторонней очередью (иначе говоря, в начало этой двусторонней очереди), если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места нет, вызывает IllegalStateException.
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

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

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

containsAll, equals, hashCode, parallelStream, stream, toArray

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

reversed

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

ConcurrentLinkedDeque

public ConcurrentLinkedDeque()
Создает пустую двустороннюю очередь.

ConcurrentLinkedDeque

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

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

addFirst

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

addLast

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

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

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

offerFirst

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

offerLast

public boolean offerLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди. Поскольку размер очереди не ограничен, этот метод никогда не возвращает false.

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

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

peekFirst

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

peekLast

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

pollFirst

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

pollLast

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

offer

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

add

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

poll

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

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

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

peek

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

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

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

remove

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

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

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

pop

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

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

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

element

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

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

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

push

public void push(E e)
Описание скопировано из интерфейса: Deque
Помещает элемент в стек, представленный этой двусторонней очередью (иначе говоря, в начало этой двусторонней очереди), если это можно сделать немедленно без нарушения ограничений емкости; если свободного места нет, выбрасывает IllegalStateException.

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

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

removeFirstOccurrence

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

removeLastOccurrence

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

contains

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

isEmpty

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

size

public int size()
Возвращает количество элементов в этой двусторонней очереди. Если очередь содержит больше Integer.MAX_VALUE элементов, метод возвращает Integer.MAX_VALUE.

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

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

remove

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

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

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

addAll

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

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

iterator

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

Возвращаемый итератор слабо согласован.

Определено в:
iterator в интерфейсе Collection<E>
Определено в:
iterator в интерфейсе Deque<E>
Определено в:
iterator в интерфейсе Iterable<E>
Определено в:
iterator в классе AbstractCollection<E>
Возвращает:
итератор по элементам этой двусторонней очереди в надлежащем порядке

descendingIterator

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

Возвращаемый итератор слабо согласован.

Определено в:
descendingIterator в интерфейсе Deque<E>
Возвращает:
итератор по элементам этой двусторонней очереди в обратном порядке

spliterator

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

Возвращаемый сплитератор слабо согласован.

Spliterator сообщает о характеристиках Spliterator.CONCURRENT, Spliterator.ORDERED и Spliterator.NONNULL.

Определено в:
spliterator в интерфейсе Collection<E>
Определено в:
spliterator в интерфейсе Iterable<E>
Примечание по реализации:
Spliterator реализует trySplit, чтобы обеспечить ограниченный параллелизм.
Возвращает:
Spliterator для обхода элементов этой двусторонней очереди
С версии:
1.8

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)

forEach

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/concurrent/ConcurrentLinkedDeque.html

Spec-Zone.ru

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