LinkedList — реализует интерфейс List. Является представителем двунаправленного списка, где каждый элемент структуры содержит указатели на предыдущий и следующий элементы.
Итератор поддерживает обход в обе стороны. Реализует методы получения, удаления и вставки в начало, середину и конец списка. Позволяет добавлять любые элементы в том числе и null.
Класс LinkedList -это обощенный класс со следующим объявлением.
class LinkedList<T>
T - тип сохраняемого объекта.Этот класс имеет следующие два конструктора:
LinkedList()
LinkedList(Collection<? extends E> c)
Мы можем использовать следующие методы при работе с данной коллекцией:
Для добавления элементов в начало списка:
addFirst() или offerFirst()
Для добавления элементов в конец списка:
addLast() или offerLast()
Чтобы получить первый элемент используют:
getFirst() или peekFirst()
Для удаления первого элемента можно использовать следующие методы:
removeFirst() или pollFirst()
Для удаления последнего элемента применяют:
removeLast() или pollLast()
Пример:
import java.util.*;
class LinkedListExample {
public static void main(String args[]) {
LinkedList<String> list = new LinkedList<String>();
// Add elements to the linked list.
list.add("F");
list.add("B");
list.add("D");
list.add("E");
list.add("C");
list.addLast("Z");
list.addFirst("A");
System.out.println("Contents of list: " + list);
// Remove elements from the linked list.
list.remove("F");
// Get and set a value.
String val = list.get(2);
list.set(2, val + " Changed");
System.out.println("List after change: " + list);
}
}
Вопрос 1.
Чем принципиально отличается LinkedList от ArrayList?
Вопрос 2.
Чем отличается метод offerFirst() от addFirst()?