Интерфейс List


Интерфейс List в Java расширяет Collection и объявляет поведение коллекции, которая хранит последовательность элементов.

Элементы могут быть вставлены или доступны по их позиции в списке, используя индекс на основе нуля.
Список может содержать повторяющиеся элементы.
В дополнение к методам, определенным в Collection, List определяет некоторые из своих, которые приведены в следующей таблице.
Некоторые из методов List будут генерировать UnsupportedOperationException, если коллекция не может быть изменена, и ClassCastException генерируется, когда один объект несовместим с другим.

Методы
№ Метод и описание
1 void add(int index, Object obj)
Вставляет obj в вызывающий список по индексу, переданному в index. Любые ранее существовавшие элементы, находящиеся в пределах или за пределами точки вставки, сдвигаются вверх. Таким образом, элементы не перезаписываются.
2 boolean addAll(int index, Collection c)
Вставляет все элементы c в вызывающий список по индексу, переданному в index. Любые ранее существовавшие элементы, находящиеся в пределах или за пределами точки вставки, сдвигаются вверх. Таким образом, элементы не перезаписываются. Возвращает true, если вызывающий список изменяется, в противном случае возвращает false.
3 Object get(int index)
Возвращает объект, хранящийся в указанном индексе в вызывающей коллекции.
4 int indexOf(Object obj)
Возвращает индекс первого экземпляра obj в вызывающем списке. Если obj не является элементом списка, возвращается .1.
5 int lastIndexOf(Object obj
Возвращает индекс последнего экземпляра obj в вызывающем списке. Если obj не является элементом списка, возвращается .1.
6 ListIterator listIterator( )
Возвращает итератор в начало вызывающего списка.
7 ListIterator listIterator(int index)
Возвращает итератор в вызывающий список, который начинается с указанного индекса.
8 Object remove(int index)
Удаляет элемент, находящейся на позиции index, из вызывающего списка и возвращает удалённый элемент. Полученный список уплотняется. То есть индексы последующих элементов уменьшаются на единицу.
9 Object set(int index, Object obj)
Присваивает obj к местоположению, указанным index’ом в вызывающем списке.
10 List subList(int start, int end)
Возвращает список, содержащий элементы от начала до конца .1 в вызывающем списке. Элементы в возвращаемом списке также ссылаются на вызывающий объект.


Пример
Вышеупомянутый интерфейс был реализован в различных классах Java как ArrayList или LinkedList и т.д. Ниже приведён пример, объясняющий несколько методов из различных реализаций классов из вышеприведённых методов коллекций:

import java.util.*;

public class CollectionsDemo {

public static void main(String[] args) {

List a1 = new ArrayList();

a1.add("Заря");

a1.add("Марк");

a1.add("Айан");

System.out.println("ArrayList Элементы");

System.out.print("\t" + a1);

List l1 = new LinkedList();

l1.add("Заря");

l1.add("Марк");

l1.add("Айан");

System.out.println();

System.out.println("LinkedList Элементы");

System.out.print("\t" + l1);

}

}
Получим следующий результат:

ArrayList Элементы

[Заря, Марк, Айан]

LinkedList Элементы

[Заря, Марк, Айан]