Spec-Zone.ru › OpenJDK 27

Класс 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 Collections Framework.

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

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

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

modCount
Модификатор и тип Поле Описание
protected int 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()
Возвращает представление view этой коллекции в обратном порядке.
E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом.
int size()
Возвращает количество элементов в этом списке.
Spliterator<E> spliterator()
Создает поздно связывающийся и быстроотказывающий Spliterator для элементов этого списка.
Object[] toArray()
Возвращает массив, содержащий все элементы этого списка в правильной последовательности (от первого до последнего элемента).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого списка в правильной последовательности (от первого до последнего элемента); тип возвращаемого массива во время выполнения совпадает с типом указанного массива.

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

iterator
Модификатор и тип Метод Описание
Iterator<E> iterator()
Возвращает итератор по элементам этого списка (в правильной последовательности).

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

equals, hashCode, listIterator, removeRange, subList
Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
int hashCode()
Возвращает значение хеш-кода этого списка.
ListIterator<E> listIterator()
Возвращает итератор списка по элементам этого списка (в правильной последовательности).
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы, индексы которых находятся в диапазоне от fromIndex включительно до toIndex не включительно.
List<E> subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между указанными fromIndex (включительно) и toIndex (не включительно).

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

containsAll, isEmpty, removeAll, retainAll, toString
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
boolean isEmpty()
Возвращает true, если эта коллекция не содержит элементов.
boolean removeAll(Collection<?> c)
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция).
String toString()
Возвращает строковое представление этой коллекции.

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

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

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

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

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

iterator
Модификатор и тип Метод Описание
Iterator<E> iterator()
Возвращает итератор по элементам этой двусторонней очереди в правильной последовательности.

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

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

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

containsAll, isEmpty, removeAll, replaceAll, retainAll, sort
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если этот список содержит все элементы указанной коллекции.
boolean isEmpty()
Возвращает true, если этот список не содержит элементов.
boolean removeAll(Collection<?> c)
Удаляет из этого списка все элементы, содержащиеся в указанной коллекции (необязательная операция).
default void replaceAll(UnaryOperator<E> operator)
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом списке только элементы, содержащиеся в указанной коллекции (необязательная операция).
default void sort(Comparator<? super E> c)
Сортирует этот список в соответствии с порядком, задаваемым указанным Comparator (необязательная операция).

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

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).

Итератор списка является быстроотказывающим: если после создания Iterator структура списка изменяется каким-либо способом, кроме вызова собственных методов 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()
Создаёт связывающийся при первом обращении и fail-fast 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, 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