Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
String toString()
Возвращает строковое представление этой коллекции.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

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

equals, hashCode, parallelStream, stream, toArray
Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает указанный объект с этой коллекцией на предмет равенства.
int hashCode()
Возвращает значение хеш-кода этой коллекции.
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

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

reversed
Модификатор и тип Метод Описание
default Deque<E> 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, 2026, 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.

Spec-Zone.ru

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