Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 4.62 KB

List Interface.md

File metadata and controls

58 lines (44 loc) · 4.62 KB
tags title
Java, Basic, Collections, List
List Interface

List<E>

Данный интерфейс реализует Collection<E>, Iterable<E>. В java.util есть частично реализованный список AbstractList.

Методы

Все методы из Collection<E> плюс

  • Bulk Operations
Метод Описание
boolean addAll(int index, Collection<? extends E> coll) Вставляет все элементы коллекции начиная с указанного индекса
void replaceAll(UnaryOperator<E> operator) Работает по принципу map в Stream API
  • Sorting
Метод Описание
void sort(Comparator<? super E> c) Сортирует лист
  • Positional Access Operations

Могут генерировать IndexOutOfBoundsException.

Метод Описание
E get(int index) Возвращает элемент листа по индексу.
E set(int index, E element) Устанавливает значение элемента равным новому значению. Возвращает старое значение.
void add(int index, E element) Добавляет элемент по индексу сдвигая все остальные.
E remove(int index) Удаляет элемент по индексу сдвигая остальные влево (важно помнить, что в Collection<E> есть метод remove(Object element))
int indexOf(Object o) Возвращает индекс элемента, иначе -1
int lastIndexOf(Object o) Возвращает индекс элемента с конца листа, иначе -1
Метод Описание
ListIterator<E> listIterator() Возвращает ListIterator<E> начиная с 0 индекса
ListIterator<E> listIterator(int index) Возвращает ListIterator<E> начиная с указанного индекса
  • Другие методы
Метод Описание
List<E> subList(int fromIndex, int toIndex) Возвращает представление указанного подсписка (изменения в подсписке влияют на родителя)
Spliterator<E> spliterator() Возвращает сплитератор со свойством ORDERED

Реализации

==По факту интерес представляет только ArrayList, так как Stack и Vector были до Java 1.2 и у них почти все методы синхронизированы, а LinkedList почти во всём проигрывает по скорости ArrayList'у.==