Spec-Zone.ru › OpenJDK 25

Класс LinkedList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>
Параметры типа:
E — тип элементов, содержащихся в этой коллекции
Все реализуемые интерфейсы:
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 этого класса, являются быстро завершающимися при ошибке: если после создания итератора список структурно изменяется каким-либо способом, кроме вызова собственных методов Iterator remove или add, итератор выбрасывает исключение ConcurrentModificationException. Таким образом, при параллельном изменении итератор быстро и корректно завершается, вместо того чтобы допускать произвольное, недетерминированное поведение в неопределённый момент в будущем.

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

Этот класс входит в состав Фреймворка коллекций Java.

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

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

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

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

iterator

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

equals, hashCode, listIterator, removeRange, subList

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

containsAll, isEmpty, removeAll, retainAll, toString

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

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

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

parallelStream, removeIf, stream, toArray

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

iterator

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

forEach

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

get

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

set

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

add

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

remove

public E remove(int index)
Удаляет элемент, находящийся в указанной позиции этого списка. Сдвигает все последующие элементы влево (уменьшая их индексы на единицу). Возвращает элемент, удаленный из списка.
Определено в:
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

element

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

remove

public E remove()
Получает и удаляет голову (первый элемент) этого списка.
Определено в:
remove в интерфейсе Deque<E>
Определено в:
remove в интерфейсе Queue<E>
Возвращает:
голову этого списка
Исключения:
NoSuchElementException — если этот список пуст
Начиная с:
1.5

offer

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

offerFirst

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

offerLast

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

peekFirst

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

peekLast

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

pollFirst

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

pollLast

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

push

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

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

Определено в:
push в интерфейсе Deque<E>
Параметры:
e — помещаемый в стек элемент
Начиная с:
1.6

pop

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

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

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

removeFirstOccurrence

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

removeLastOccurrence

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

listIterator

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

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

Определено в:
listIterator в интерфейсе List<E>
Определено в:
listIterator в классе AbstractSequentialList<E>
Параметры:
index — индекс первого элемента, возвращаемого итератором списка (при вызове next)
Возвращает:
ListIterator для элементов этого списка (в надлежащем порядке), начиная с указанной позиции
Исключения:
IndexOutOfBoundsException — если индекс выходит за допустимый диапазон (index < 0 || index > size())
См. также:
  • List.listIterator(int)

descendingIterator

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

clone

public Object clone()
Возвращает поверхностную копию этого LinkedList. (Сами элементы не клонируются.)
Переопределяет:
clone в классе Object
Возвращает:
поверхностную копию экземпляра LinkedList
См. также:
  • Cloneable

toArray

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

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

Этот метод служит связующим звеном между API на основе массивов и API на основе коллекций.

Определено в:
toArray в интерфейсе Collection<E>
Определено в:
toArray в интерфейсе List<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Возвращает:
массив, содержащий все элементы этого списка в надлежащем порядке
См. также:
  • Arrays.asList(Object[])

toArray

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

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

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

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

    String[] y = x.toArray(new String[0]);
Обратите внимание, что toArray(new Object[0]) функционально идентичен toArray().
Определён в:
toArray в интерфейсе Collection<E>
Определён в:
toArray в интерфейсе List<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Параметры типа:
T — тип компонентов массива, предназначенного для хранения коллекции
Параметры:
a — массив, в который следует поместить элементы списка, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа во время выполнения.
Возвращает:
массив, содержащий элементы списка
Выбрасывает:
ArrayStoreException — если тип указанного массива во время выполнения не является супертипом типа во время выполнения каждого элемента этого списка
NullPointerException — если указанный массив равен null

spliterator

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

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

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

reversed

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

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

Определён в:
reversed в интерфейсе Deque<E>
Определён в:
reversed в интерфейсе List<E>
Определён в:
reversed в интерфейсе SequencedCollection<E>
Возвращает:
представление этой коллекции в обратном порядке в виде List
Начиная с версии:
21

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

Spec-Zone.ru

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