Класс LinkedList в Java расширяет AbstractSequentialList и реализует интерфейс List. Он предоставляет структуру данных связанных списков.

Конструкторы

Ниже приведены конструкторы, поддерживаемые классом LinkedList.

Конструктор и описание
1LinkedList( )
Этот конструктор создает пустой связанный список.
2LinkedList(Collection c)
Этот конструктор создает связанный список, который инициализируется элементами коллекции c.

Методы

Помимо применения методов, унаследованных от родительских классов, LinkedList определяет следующие методы:

и описание
1void add(int index, Object element)
Вставляет указанный элемент в указанный указатель позиции в этом списке. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index < 0 || index > size()).
2boolean add(Object o)
Добавляет указанный элемент в конец этого списка.
3boolean addAll(Collection c)
Добавляет все элементы в указанной коллекции в конец этого списка в том порядке, в котором они возвращаются итератором указанной коллекции. Выбрасывает NullPointerException, если указанная коллекция имеет значение null (нуль).
4boolean addAll(int index, Collection c)
Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции. Вызывает NullPointerException, если указанная коллекция имеет значение null (нуль).
5void addFirst(Object o)
Вставляет данный элемент в начало этого списка.
6void addLast(Object o)
Добавляет данный элемент в конец этого списка.
7void clear()
Удаляет все элементы из этого списка.
8Object clone()
Возвращает мелкую копию этого LinkedList.
9boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент. Если точнее, то возвращает true тогда и только тогда, когда этот список содержит хотя бы один элемент e такой, что (o==null ? e==null : o.equals(e)).
10Object get(int index)
Возвращает элемент в указанной позиции в этом списке. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index < 0 || index >= size()).
11Object getFirst()
Возвращает первый элемент в этом списке. Вызывает исключение NoSuchElementException, если этот список пуст.
12Object getLast()
Возвращает последний элемент в этом списке. Вызывает исключение NoSuchElementException, если этот список пуст.
13int indexOf(Object o)
Возвращает индекс в этом списке первого упоминания указанного элемента или -1, если список не содержит этот элемент.
14int lastIndexOf(Object o)
Возвращает индекс в этом списке последнего упоминания указанного элемента или -1, если список не содержит этот элемент.
15ListIterator listIterator(int index)
Возвращает список-итератор элементов в этом списке (в правильной последовательности), начиная с указанной позиции в списке. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за пределы диапазона (index < 0 || index >= size()).
16Object remove(int index)
Удаляет элемент в указанной позиции в этом списке. Вызывает исключение NoSuchElementException, если этот список пуст.
17boolean remove(Object o)
Удаляет первое упоминание указанного элемента в этом списке. Вызывает исключение NoSuchElementException, если этот список пуст. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за пределы диапазона (index < 0 || index >= size()).
18Object removeFirst()
Удаляет и возвращает первый элемент из этого списка. Выбрасывает исключение NoSuchElementException, если этот список пуст.
19Object removeLast()
Удаляет и возвращает последний элемент из этого списка. Вызывает исключение NoSuchElementException, если этот список пуст.
20Object set(int index, Object element)
Заменяет элемент в указанной позиции в этом списке указанным элементом. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за пределы диапазона (index < 0 || index >= size()).
21int size()
Возвращает количество элементов в этом списке.
22Object[] toArray()
Возвращает массив, содержащий все элементы в этом списке в правильном порядке. Выбрасывает NullPointerException, если указанный массив равен null (нулю).
23Object[] toArray(Object[] a)
Возвращает массив, содержащий все элементы в этом списке в правильном порядке; тип выполнения возвращаемого массива - тип указанного массива.

Пример

Следующая программа показывает реализацию некоторых методов, поддерживаемые LinkedList в Java:

import java.util.*;
public class LinkedListDemo {

   public static void main(String args[]) {
      // Создаём LinkedList
      LinkedList ll = new LinkedList();
      
      // Добавляем элементы в LinkedList
      ll.add("F");
      ll.add("B");
      ll.add("D");
      ll.add("E");
      ll.add("C");
      ll.addLast("Z");
      ll.addFirst("A");
      ll.add(1, "A2");
      System.out.println("Изначальное содержание ll: " + ll);

      // Удаляем элементы из LinkedList
      ll.remove("F");
      ll.remove(2);
      System.out.println("Содержание ll после удаления: " + ll);
      
      // Удаляем первый и последний элементы
      ll.removeFirst();
      ll.removeLast();
      System.out.println("ll после удаления первого и последнего: " + ll);

      // Получаем и устанавливаем значение
      Object val = ll.get(2);
      ll.set(2, (String) val + " Изменено");
      System.out.println("ll после изменения: " + ll);
   }
}

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

Изначальное содержание ll: [A, A2, F, B, D, E, C, Z]
Содержание ll после удаления: [A, A2, D, E, C, Z]
ll после удаления первого и последнего: [A2, D, E, C]
ll после изменения: [A2, D, E Изменено, C]

Оглавление