Spec-Zone.ru › OpenJDK 21

Класс ConcurrentLinkedDeque<E>

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

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

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

Операции с блоками, которые добавляют, удаляют или проверяют несколько элементов, такие как addAll(java.util.Collection<? extends E>), removeIf(java.util.function.Predicate<? super E>) или forEach(java.util.function.Consumer<? super E>), не гарантируются для выполнения атомарно. Например, обход 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)
Возвращает массив, содержащий все элементы этого двустороннего списка в правильной последовательности (от первого до последнего элемента); тип времени выполнения возвращаемого массива — тип указанного массива.

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

containsAll, toString

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

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

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

containsAll, equals, hashCode, parallelStream, stream, toArray

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

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)
Добавляет все элементы из указанной коллекции в конец этой очереди, в порядке, в котором они возвращаются итератором указанной коллекции. Попытки добавить элементы очереди в саму себя приведут к IllegalArgumentException.
Specified by:
addAll в интерфейсе Collection<E>
Specified by:
addAll в интерфейсе Deque<E>
Overrides:
addAll в классе AbstractCollection<E>
Parameters:
c - элементы, которые нужно вставить в эту очередь
Returns:
true если эта очередь изменилась в результате вызова
Throws:
NullPointerException - если указанная коллекция или любой из её элементов равны null
IllegalArgumentException - если коллекция является этой очередью
See Also:
  • AbstractCollection.add(Object)

clear

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

toArray

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

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

Этот метод действует как мост между массивами и коллекциями.

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

toArray

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

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

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

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

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

iterator

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

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

Specified by:
iterator в интерфейсе Collection<E>
Specified by:
iterator в интерфейсе Deque<E>
Specified by:
iterator в интерфейсе Iterable<E>
Specified by:
iterator в классе AbstractCollection<E>
Returns:
итератор по элементам в этой очереди в правильной последовательности

descendingIterator

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

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

Specified by:
descendingIterator в интерфейсе Deque<E>
Returns:
итератор по элементам в этой очереди в обратном порядке

spliterator

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

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

Разделитель Spliterator сообщает о Spliterator.CONCURRENT, Spliterator.ORDERED и Spliterator.NONNULL.

Specified by:
spliterator в интерфейсе Collection<E>
Specified by:
spliterator в интерфейсе Iterable<E>
Implementation Note:
Spliterator реализует trySplit для разрешения ограниченного параллелизма.
Returns:
Spliterator по элементам в этой очереди
Since:
1.8

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)

forEach

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

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

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

© 1993, 2023, 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/21/docs/api/java.base/java/util/concurrent/ConcurrentLinkedDeque.html

Spec-Zone.ru

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