Spec-Zone.ru › OpenJDK 21

Класс LinkedList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>
Type Parameters:
E - тип элементов, хранящихся в этом наборе
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>, SequencedCollection<E>
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable
Реализация двусвязного списка интерфейсов List и Deque. Реализует все необязательные операции списка и разрешает все элементы (включая null).

Все операции выполняются так, как ожидается для двусвязного списка. Операции, которые индексируют в список, будут проходить по списку с начала или конца, что ближе к указанному индексу.

Обратите внимание, что данная реализация не синхронизирована. Если несколько потоков одновременно обращаются к связанному списку, и по крайней мере один из потоков изменяет список структурно, он должен быть синхронизирован внешне. (Структурное изменение — это любая операция, которая добавляет или удаляет один или несколько элементов; простое изменение значения элемента не является структурным изменением.) Это обычно достигается путем синхронизации на некотором объекте, естественно инкапсулирующем список. Если такого объекта нет, список следует «оборачивать» с помощью метода Collections.synchronizedList. Лучше всего это сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ к списку:

   List list = Collections.synchronizedList(new LinkedList(...));

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

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

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

Since:
1.2
See Also:
  • List
  • ArrayList
  • Serialized Form

Краткое описание полей

Поля, объявленные в классе java.util.AbstractList

modCount

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

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

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

Модификатор и тип Метод Описание
void add(int index, E element)
Вставляет указанный элемент в указанную позицию в этом списке.
boolean add(E e)
Добавляет указанный элемент в конец этого списка.
boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этого списка в порядке, в котором они возвращаются итератором указанной коллекции.
void addFirst(E e)
Вставляет указанный элемент в начало этого списка.
void addLast(E e)
Добавляет указанный элемент в конец этого списка.
void clear()
Удаляет все элементы из этого списка.
Object clone()
Возвращает поверхностную копию этого LinkedList.
boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент.
Iterator<E> descendingIterator()
Возвращает итератор по элементам этого списка в обратном порядке.
E element()
Извлекает, но не удаляет голову (первый элемент) этого списка.
E get(int index)
Возвращает элемент в указанной позиции в этом списке.
E getFirst()
Возвращает первый элемент в этом списке.
E getLast()
Возвращает последний элемент в этом списке.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент.
int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент.
ListIterator<E> listIterator(int index)
Возвращает итератор по элементам этого списка (в правильном порядке), начиная с указанной позиции в списке.
boolean offer(E e)
Добавляет указанный элемент в качестве хвоста (последнего элемента) этого списка.
boolean offerFirst(E e)
Вставляет указанный элемент в начало этого списка.
boolean offerLast(E e)
Вставляет указанный элемент в конец этого списка.
E peek()
Извлекает, но не удаляет голову (первый элемент) этого списка.
E peekFirst()
Извлекает, но не удаляет первый элемент этого списка или возвращает null, если этот список пуст.
E peekLast()
Извлекает, но не удаляет последний элемент этого списка или возвращает null если этот список пуст.
E poll()
Извлекает и удаляет голову (первый элемент) этого списка.
E pollFirst()
Извлекает и удаляет первый элемент этого списка или возвращает null, если этот список пуст.
E pollLast()
Извлекает и удаляет последний элемент этого списка или возвращает null если этот список пуст.
E pop()
Извлекает элемент из стека, представленного этим списком.
void push(E e)
Добавляет элемент в стек, представленный этим списком.
E remove()
Извлекает и удаляет голову (первый элемент) этого списка.
E remove(int index)
Удаляет элемент в указанной позиции в этом списке.
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этого списка, если он присутствует.
E removeFirst()
Удаляет и возвращает первый элемент из этого списка.
boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента в этом списке (при обходе списка от начала к концу).
E removeLast()
Удаляет и возвращает последний элемент из этого списка.
boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента в этом списке (при обходе списка от начала к концу).
LinkedList<E> reversed()
Возвращает список, отсортированный в обратном порядке.
E set(int index, E element)
Заменяет элемент в указанной позиции в этом списке указанным элементом.
int size()
Возвращает количество элементов в этом списке.
Spliterator<E> spliterator()
Создаёт отложенную и быстродействующую Spliterator по элементам этого списка.
Object[] toArray()
Возвращает массив, содержащий все элементы этого списка в правильном порядке (от первого к последнему элементу).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого списка в правильном порядке (от первого к последнему элементу); тип возвращаемого массива — тип указанного массива.

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

iterator

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

equals, hashCode, listIterator, removeRange, subList

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

containsAll, isEmpty, removeAll, retainAll, toString

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

finalize, getClass, notify, notifyAll, wait, wait, wait

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

parallelStream, removeIf, stream, toArray

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

iterator

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

forEach

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

containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList

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

LinkedList

public LinkedList()
Создаёт пустой список.

LinkedList

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

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

getFirst

public E getFirst()
Возвращает первый элемент в этом списке.
Унаследовано от:
getFirst в интерфейсе Deque<E>
Унаследовано от:
getFirst в интерфейсе List<E>
Унаследовано от:
getFirst в интерфейсе SequencedCollection<E>
Возвращает:
первый элемент в этом списке
Исключения:
NoSuchElementException - если этот список пуст

getLast

public E getLast()
Возвращает последний элемент в этом списке.
Унаследовано от:
getLast в интерфейсе Deque<E>
Унаследовано от:
getLast в интерфейсе List<E>
Унаследовано от:
getLast в интерфейсе SequencedCollection<E>
Возвращает:
последний элемент в этом списке
Исключения:
NoSuchElementException - если этот список пуст

removeFirst

public E removeFirst()
Удаляет и возвращает первый элемент из этого списка.
Унаследовано от:
removeFirst в интерфейсе Deque<E>
Унаследовано от:
removeFirst в интерфейсе List<E>
Унаследовано от:
removeFirst в интерфейсе SequencedCollection<E>
Возвращает:
первый элемент из этого списка
Исключения:
NoSuchElementException - если этот список пуст

removeLast

public E removeLast()
Удаляет и возвращает последний элемент из этого списка.
Унаследовано от:
removeLast в интерфейсе Deque<E>
Унаследовано от:
removeLast в интерфейсе List<E>
Унаследовано от:
removeLast в интерфейсе SequencedCollection<E>
Возвращает:
последний элемент из этого списка
Исключения:
NoSuchElementException - если этот список пуст

addFirst

public void addFirst(E e)
Вставляет указанный элемент в начало этого списка.
Унаследовано от:
addFirst в интерфейсе Deque<E>
Унаследовано от:
addFirst в интерфейсе List<E>
Унаследовано от:
addFirst в интерфейсе SequencedCollection<E>
Параметры:
e - добавляемый элемент

addLast

public void addLast(E e)
Добавляет указанный элемент в конец этого списка.

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

Унаследовано от:
addLast в интерфейсе Deque<E>
Унаследовано от:
addLast в интерфейсе List<E>
Унаследовано от:
addLast в интерфейсе SequencedCollection<E>
Параметры:
e - добавляемый элемент

contains

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

size

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

add

public boolean add(E e)
Добавляет указанный элемент в конец этого списка.

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

Унаследовано от:
add в интерфейсе Collection<E>
Унаследовано от:
add в интерфейсе Deque<E>
Унаследовано от:
add в интерфейсе List<E>
Унаследовано от:
add в интерфейсе Queue<E>
Переопределяет:
add в классе AbstractList<E>
Параметры:
e - элемент, который нужно добавить в этот список
Возвращает:
true (как указано в Collection.add(E))

remove

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

addAll

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

addAll

public boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы из указанного набора в этот список, начиная с указанной позиции. Смещает элемент, который в данный момент находится на этой позиции (если есть), и все последующие элементы вправо (увеличивает их индексы). Новые элементы будут появляться в списке в том порядке, в котором они возвращаются итератором указанного набора.
Унаследовано от:
addAll в интерфейсе List<E>
Переопределяет:
addAll в классе AbstractSequentialList<E>
Параметры:
index - индекс, с которого следует вставить первый элемент из указанного набора
c - набор, содержащий элементы, которые нужно добавить в этот список
Возвращает:
true если этот список изменился в результате вызова
Исключения:
IndexOutOfBoundsException - если индекс находится вне диапазона (index < 0 || index > size())
NullPointerException - если указанный набор равен null

clear

public void clear()
Удаляет все элементы из этого списка. Список будет пустым после возвращения этого вызова.
Унаследовано от:
clear в интерфейсе Collection<E>
Унаследовано от:
clear в интерфейсе List<E>
Переопределяет:
clear в классе AbstractList<E>

получить

public E get(int index)
Возвращает элемент в указанной позиции в этом списке.
Указано в:
get в интерфейсе List<E>
Переопределяет:
get в классе AbstractSequentialList<E>
Параметры:
index - индекс возвращаемого элемента
Возвращает:
элемент в указанной позиции в этом списке
Выбрасывает:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index >= size())

установить

public E set(int index, E element)
Заменяет элемент в указанной позиции в этом списке указанным элементом.
Указано в:
set в интерфейсе List<E>
Переопределяет:
set в классе AbstractSequentialList<E>
Параметры:
index - индекс заменяемого элемента
element - элемент, который должен быть сохранён в указанной позиции
Возвращает:
элемент, который был ранее в указанной позиции
Выбрасывает:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index >= size())

добавить

public void add(int index, E element)
Вставляет указанный элемент в указанную позицию в этом списке. Смещает элемент, который в данный момент находится в этой позиции (если таковой есть), и все последующие элементы вправо (увеличивает их индексы на 1).
Указано в:
add в интерфейсе List<E>
Переопределяет:
add в классе AbstractSequentialList<E>
Параметры:
index - индекс, в который должен быть вставлен указанный элемент
element - вставляемый элемент
Выбрасывает:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index > size())

удалить

public E remove(int index)
Удаляет элемент в указанной позиции в этом списке. Смещает все последующие элементы влево (уменьшает их индексы на 1). Возвращает элемент, который был удалён из списка.
Указано в:
remove в интерфейсе List<E>
Переопределяет:
remove в классе AbstractSequentialList<E>
Параметры:
index - индекс удаляемого элемента
Возвращает:
элемент, который был ранее в указанной позиции
Выбрасывает:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index >= size())

indexOf

public int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент. Более формально, возвращает наименьший индекс i, такой что Objects.equals(o, get(i)), или -1, если такого индекса нет.
Указано в:
indexOf в интерфейсе List<E>
Переопределяет:
indexOf в классе AbstractList<E>
Параметры:
o - искомый элемент
Возвращает:
индекс первого вхождения указанного элемента в этот список, или -1, если этот список не содержит элемент

lastIndexOf

public int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент. Более формально, возвращает наивысший индекс i, такой что Objects.equals(o, get(i)), или -1, если такого индекса нет.
Указано в:
lastIndexOf в интерфейсе List<E>
Переопределяет:
lastIndexOf в классе AbstractList<E>
Параметры:
o - искомый элемент
Возвращает:
индекс последнего вхождения указанного элемента в этот список, или -1, если этот список не содержит элемент

peek

public E peek()
Извлекает, но не удаляет, голову (первый элемент) этого списка.
Указано в:
peek в интерфейсе Deque<E>
Указано в:
peek в интерфейсе Queue<E>
Возвращает:
голову этого списка или null, если этот список пуст
С:
1.5

элемент

public E element()
Извлекает, но не удаляет, голову (первый элемент) этого списка.
Указано в:
element в интерфейсе Deque<E>
Указано в:
element в интерфейсе Queue<E>
Возвращает:
голову этого списка
Выбрасывает:
NoSuchElementException - если этот список пуст
С:
1.5

poll

public E poll()
Извлекает и удаляет голову (первый элемент) этого списка.
Указано в:
poll в интерфейсе Deque<E>
Указано в:
poll в интерфейсе Queue<E>
Возвращает:
голову этого списка или null, если этот список пуст
С:
1.5

удалить

public E remove()
Извлекает и удаляет голову (первый элемент) этого списка.
Указано в:
remove в интерфейсе Deque<E>
Указано в:
remove в интерфейсе Queue<E>
Возвращает:
голову этого списка
Выбрасывает:
NoSuchElementException - если этот список пуст
С:
1.5

предложить

public boolean offer(E e)
Добавляет указанный элемент в качестве хвоста (последнего элемента) этого списка.
Указано в:
offer в интерфейсе Deque<E>
Указано в:
offer в интерфейсе Queue<E>
Параметры:
e - добавляемый элемент
Возвращает:
true (как указано в Queue.offer(E))
С:
1.5

предложитьПервым

public boolean offerFirst(E e)
Вставляет указанный элемент в начало этого списка.
Указано в:
offerFirst в интерфейсе Deque<E>
Параметры:
e - вставляемый элемент
Возвращает:
true (как указано в Deque.offerFirst(E))
С:
1.6

предложитьПоследним

public boolean offerLast(E e)
Вставляет указанный элемент в конец этого списка.
Указано в:
offerLast в интерфейсе Deque<E>
Параметры:
e - вставляемый элемент
Возвращает:
true (как указано в Deque.offerLast(E))
С:
1.6

peekПервым

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

peekПоследним

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

pollПервым

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

pollПоследним

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

положитьВСтек

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

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

Указано в:
push в интерфейсе Deque<E>
Параметры:
e - элемент для помещения в стек
С:
1.6

pop

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

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

Specified by:
pop in interface Deque<E>
Returns:
элемент в начале этого списка (который является вершиной стека, представленного этим списком)
Throws:
NoSuchElementException - если этот список пуст
Since:
1.6

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента в этом списке (при обходе списка от головы к хвосту). Если список не содержит элемент, он остается неизменным.
Specified by:
removeFirstOccurrence in interface Deque<E>
Parameters:
o - элемент, который нужно удалить из этого списка, если он присутствует
Returns:
true если список содержал указанный элемент
Since:
1.6

removeLastOccurrence

public boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента в этом списке (при обходе списка от головы к хвосту). Если список не содержит элемент, он остается неизменным.
Specified by:
removeLastOccurrence in interface Deque<E>
Parameters:
o - элемент, который нужно удалить из этого списка, если он присутствует
Returns:
true если список содержал указанный элемент
Since:
1.6

listIterator

public ListIterator<E> listIterator(int index)
Возвращает итератор списка элементов в этом списке (в правильной последовательности), начиная с указанной позиции в списке. Соответствует общему соглашению List.listIterator(int).

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

Specified by:
listIterator in interface List<E>
Specified by:
listIterator in class AbstractSequentialList<E>
Parameters:
index - индекс первого элемента, который будет возвращен итератором списка (методом next)
Returns:
итератор списка элементов в этом списке (в правильной последовательности), начиная с указанной позиции в списке
Throws:
IndexOutOfBoundsException - если индекс выходит за пределы диапазона (index < 0 || index > size())
See Also:
  • List.listIterator(int)

descendingIterator

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

clone

public Object clone()
Возвращает неглубокую копию этого LinkedList. (Сами элементы не клонируются.)
Overrides:
clone in class Object
Returns:
неглубокую копию экземпляра этого LinkedList
See Also:
  • Cloneable

toArray

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

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

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

Specified by:
toArray in interface Collection<E>
Specified by:
toArray in interface List<E>
Overrides:
toArray in class AbstractCollection<E>
Returns:
массив, содержащий все элементы в этом списке в правильной последовательности
See Also:
  • Arrays.asList(Object[])

toArray

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

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

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

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

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

spliterator

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

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

Specified by:
spliterator in interface Collection<E>
Specified by:
spliterator in interface Iterable<E>
Specified by:
spliterator in interface List<E>
Implementation Note:
Spliterator дополнительно сообщает о Spliterator.SUBSIZED и реализует trySplit для обеспечения ограниченного параллелизма.
Returns:
Spliterator над элементами в этом списке
Since:
1.8

reversed

public LinkedList<E> reversed()
Возвращает представление этого набора в обратном порядке. Последовательность встреч элементов в возвращаемом представлении — обратная последовательности встреч элементов в этом наборе. Обратный порядок влияет на все операции, чувствительные к порядку, включая те, что выполняются над представленными коллекциями возвращаемого представления. Если реализация набора допускает изменения в этом представлении, изменения «прописываются» в базовый набор. Изменения в базовом наборе могут или не могут быть видимыми в этом представлении в обратном порядке, в зависимости от реализации.

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

Specified by:
reversed in interface Deque<E>
Specified by:
reversed in interface List<E>
Specified by:
reversed in interface SequencedCollection<E>
Returns:
представление этого набора в обратном порядке, как List
Since:
21

© 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/LinkedList.html

Spec-Zone.ru

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