Spec-Zone .ru
спецификации, руководства, описания, API
|
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(...));
iterators возвратился этим class iterator
и listIterator
методы являются сбоем быстро: если список структурно изменяется когда-либо после того, как iterator создается, всегда кроме через собственного Итерэтора remove
или add
методы, iterator бросит a ConcurrentModificationException
. Таким образом, перед лицом параллельной модификации, iterator перестал работать быстро и чисто, вместо того, чтобы рискнуть произвольным, недетерминированным поведением в неопределенное время в будущем.
Отметьте, что поведение сбоя быстро iterator не может быть гарантировано, как, вообще говоря, невозможно сделать любые трудные гарантии в присутствии несинхронизируемой параллельной модификации. Приведите бросок iterators к сбою быстро ConcurrentModificationException
на основе максимальных усилий. Поэтому, было бы неправильно записать программу, которая зависела от этого исключения для его правильности: поведение сбоя быстро iterators должно использоваться только, чтобы обнаружить ошибки.
Этот class является элементом Платформы Наборов Java.
List
, ArrayList
, Сериализированная ФормаmodCount
Конструктор и Описание |
---|
LinkedList()
Создает пустой список.
|
LinkedList(Collection<? extends E> c)
Создает список, содержащий элементы указанного набора, в порядке, они возвращаются iterator набора.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
add(E e)
Добавляет указанный элемент до конца этого списка.
|
void |
add(int index, E element)
Вставляет указанный элемент в указанной позиции в этом списке.
|
boolean |
addAll(Collection<? extends E> c)
Добавляет все элементы в указанном наборе до конца этого списка, в порядке, что они возвращаются iterator указанного набора.
|
boolean |
addAll(int index, Collection<? extends E> c)
Вставляет все элементы в указанном наборе в этот список, запускающийся в указанной позиции.
|
void |
addFirst(E e)
Вставляет указанный элемент в начале этого списка.
|
void |
addLast(E e)
Добавляет указанный элемент до конца этого списка.
|
void |
clear()
Удаляет все элементы от этого списка.
|
Объект |
clone()
Возвращает мелкую копию этого
LinkedList . |
boolean |
contains(Object o)
Возвраты
true если этот список содержит указанный элемент. |
Iterator<E> |
descendingIterator()
Возвращает iterator по элементам в этой двухсторонней очереди в обратном последовательном порядке.
|
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)
Возвращает список-iterator элементов в этом списке (в надлежащей последовательности), запускаясь в указанной позиции в списке.
|
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)
Удаляет последнее вхождение указанного элемента в этом списке (пересекая список от главы к хвосту).
|
E |
set(int index, E element)
Заменяет элемент в указанной позиции в этом списке с указанным элементом.
|
int |
size()
Возвращает число элементов в этом списке.
|
Spliterator<E> |
spliterator()
Создает a
Spliterator по элементам в этом списке. |
Объект[] |
toArray()
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент).
|
<T> T[] |
toArray(T[] a)
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент); тип времени выполнения возвращенного массива является типом указанного массива.
|
iterator
equals, hashCode, listIterator, removeRange, subList
containsAll, isEmpty, removeAll, retainAll, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList
iterator
parallelStream, removeIf, stream
forEach
public LinkedList()
public LinkedList(Collection<? extends E> c)
c
- набор, элементы которого должны быть помещены в этот списокNullPointerException
- если указанный набор является нулемpublic E getFirst()
getFirst
в интерфейсе Deque<E>
NoSuchElementException
- если этот список пустpublic E getLast()
getLast
в интерфейсе Deque<E>
NoSuchElementException
- если этот список пустpublic E removeFirst()
removeFirst
в интерфейсе Deque<E>
NoSuchElementException
- если этот список пустpublic E removeLast()
removeLast
в интерфейсе Deque<E>
NoSuchElementException
- если этот список пустpublic void addFirst(E e)
public void addLast(E e)
Этот метод эквивалентен add(E)
.
public boolean contains(Object o)
true
если этот список содержит указанный элемент. Более формально, возвраты true
если и только если этот список содержит по крайней мере один элемент e
так, что (o==null ? e==null : o.equals(e)).contains
в интерфейсе Collection<E>
contains
в интерфейсе Deque<E>
contains
в интерфейсе List<E>
contains
в class AbstractCollection<E>
o
- элемент, присутствие которого в этом списке должно быть протестированоtrue
если этот список содержит указанный элементpublic int size()
public boolean add(E e)
Этот метод эквивалентен addLast(E)
.
add
в интерфейсе Collection<E>
add
в интерфейсе Deque<E>
add
в интерфейсе List<E>
add
в интерфейсе Queue<E>
add
в class AbstractList<E>
e
- элемент, который будет добавлен к этому спискуtrue
(как определено Collection.add(E)
)public boolean remove(Object o)
i
так, что (o==null ? get(i)==null : o.equals(get(i))) (если такой элемент существует). Возвраты true
если этот список, содержавший указанный элемент (или эквивалентно, если этот список, измененный в результате вызова).remove
в интерфейсе Collection<E>
remove
в интерфейсе Deque<E>
remove
в интерфейсе List<E>
remove
в class AbstractCollection<E>
o
- элемент, который будет удален из этого списка, если существующийtrue
если этот список, содержавший указанный элементpublic boolean addAll(Collection<? extends E> c)
addAll
в интерфейсе Collection<E>
addAll
в интерфейсе List<E>
addAll
в class AbstractCollection<E>
c
- набор, содержащий элементы, которые будут добавлены к этому спискуtrue
если этот список изменился в результате вызоваNullPointerException
- если указанный набор является нулемAbstractCollection.add(Object)
public boolean addAll(int index, Collection<? extends E> c)
addAll
в интерфейсе List<E>
addAll
в class AbstractSequentialList<E>
index
- индексируйте, в котором можно вставить первый элемент от указанного набораc
- набор, содержащий элементы, которые будут добавлены к этому спискуtrue
если этот список изменился в результате вызоваIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size())NullPointerException
- если указанный набор является нулемpublic void clear()
clear
в интерфейсе Collection<E>
clear
в интерфейсе List<E>
clear
в class AbstractList<E>
public E get(int index)
get
в интерфейсе List<E>
get
в class AbstractSequentialList<E>
index
- индексируйте элемента, чтобы возвратитьсяIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public E set(int index, E element)
set
в интерфейсе List<E>
set
в class AbstractSequentialList<E>
index
- индексируйте элемента, чтобы заменитьelement
- элемент, который будет сохранен в указанной позицииIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public void add(int index, E element)
add
в интерфейсе List<E>
add
в class AbstractSequentialList<E>
index
- индексируйте, в котором должен быть вставлен указанный элементelement
- элемент, который будет вставленIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size())public E remove(int index)
remove
в интерфейсе List<E>
remove
в class AbstractSequentialList<E>
index
- индексирование элемента, который будет удаленIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public int indexOf(Object o)
i
так, что (o==null ? get(i)==null : o.equals(get(i))), или-1, если есть не такой индексировать.public int lastIndexOf(Object o)
i
так, что (o==null ? get(i)==null : o.equals(get(i))), или-1, если есть не такой индексировать.lastIndexOf
в интерфейсе List<E>
lastIndexOf
в class AbstractList<E>
o
- элемент, чтобы искатьpublic E peek()
public E element()
public E poll()
public E remove()
public boolean offer(E e)
public boolean offerFirst(E e)
offerFirst
в интерфейсе Deque<E>
e
- элемент, чтобы вставитьtrue
(как определено Deque.offerFirst(E)
)public boolean offerLast(E e)
offerLast
в интерфейсе Deque<E>
e
- элемент, чтобы вставитьtrue
(как определено Deque.offerLast(E)
)public E peekFirst()
null
если этот список пуст.public E peekLast()
null
если этот список пуст.public E pollFirst()
null
если этот список пуст.public E pollLast()
null
если этот список пуст.public void push(E e)
Этот метод эквивалентен addFirst(E)
.
public E pop()
Этот метод эквивалентен removeFirst()
.
pop
в интерфейсе Deque<E>
NoSuchElementException
- если этот список пустpublic boolean removeFirstOccurrence(Object o)
removeFirstOccurrence
в интерфейсе Deque<E>
o
- элемент, который будет удален из этого списка, если существующийtrue
если список, содержавший указанный элементpublic boolean removeLastOccurrence(Object o)
removeLastOccurrence
в интерфейсе Deque<E>
o
- элемент, который будет удален из этого списка, если существующийtrue
если список, содержавший указанный элементpublic ListIterator<E> listIterator(int index)
List.listIterator(int)
. Список-iterator является сбоем быстро: если список структурно изменяется когда-либо после того, как Iterator создается, всегда кроме через собственный список-iterator's remove
или add
методы, список-iterator бросит a ConcurrentModificationException
. Таким образом, перед лицом параллельной модификации, iterator перестал работать быстро и чисто, вместо того, чтобы рискнуть произвольным, недетерминированным поведением в неопределенное время в будущем.
listIterator
в интерфейсе List<E>
listIterator
в class AbstractSequentialList<E>
index
- индексируйте первого элемента, который будет возвращен из списка-iterator (звонком next
)IndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size()
)List.listIterator(int)
public Iterator<E> descendingIterator()
Deque
descendingIterator
в интерфейсе Deque<E>
public Object clone()
LinkedList
. (Сами элементы не клонируются.)public Object[] toArray()
Возвращенный массив будет "безопасен" в этом, никакие ссылки на него не сохраняются этим списком. (Другими словами этот метод должен выделить новый массив). Вызывающая сторона таким образом свободна изменить возвращенный массив.
Этот метод действует как мост между основанными на массиве и основанными на наборе API.
toArray
в интерфейсе Collection<E>
toArray
в интерфейсе List<E>
toArray
в class AbstractCollection<E>
Arrays.asList(Object[])
public <T> T[] toArray(T[] a)
Если список помещается в указанный массив с комнатой, чтобы сэкономить (то есть, у массива есть больше элементов чем список), элемент в массиве сразу после конца списка устанавливается в null
. (Это полезно в определении длины списка, только если вызывающая сторона знает, что список не содержит нулевых элементов.)
Как toArray()
метод, этот метод действует как мост между основанными на массиве и основанными на наборе API. Далее, этот метод позволяет точное управление типом времени выполнения выходного массива, и, при определенных обстоятельствах, может использоваться, чтобы сохранить затраты выделения.
Предположить x
список, который, как известно, содержал только строки. Следующий код может использоваться, чтобы вывести список в недавно выделенный массив String
:
String[] y = x.toArray(new String[0]);Отметьте это
toArray(new Object[0])
идентично в функции toArray()
.toArray
в интерфейсе Collection<E>
toArray
в интерфейсе List<E>
toArray
в class AbstractCollection<E>
a
- массив, в который должны быть сохранены элементы списка, если это является достаточно большим; иначе, новый массив того же самого типа времени выполнения выделяется с этой целью.ArrayStoreException
- если тип времени выполнения указанного массива не является супертипом типа времени выполнения каждого элемента в этом спискеNullPointerException
- если указанный массив является нулемpublic Spliterator<E> spliterator()
List
Spliterator
по элементам в этом списке. Spliterator
отчеты Spliterator.SIZED
и Spliterator.ORDERED
. Реализации должны задокументировать создание отчетов дополнительных характеристических значений.
spliterator
в интерфейсе Collection<E>
spliterator
в интерфейсе List<E>
Spliterator
по элементам в этом списке
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92