Коллекция LinkedList
LinkedList
в Java представляет собой реализацию интерфейса List
, которая представляет собой двусвязный список элементов. Каждый элемент в LinkedList
содержит ссылки на предыдущий и следующий элементы, что обеспечивает эффективное добавление и удаление элементов в середине списка.
Двусвязный список: Каждый элемент списка содержит ссылки на предыдущий и следующий элементы. Это позволяет эффективно добавлять и удалять элементы в середине списка.
Отсутствие случайного доступа: В отличие от массивов или
ArrayList
, доступ к элементам вLinkedList
осуществляется последовательно от начала или конца списка. Для доступа к элементу по индексу может потребоваться линейное время O(n).Быстрые операции добавления и удаления: Добавление или удаление элементов в начале или конце списка выполняется за константное время O(1), что делает
LinkedList
эффективным выбором для стеков, очередей и деков.Итераторы:
LinkedList
предоставляет эффективные итераторы для перебора элементов списка. Они позволяют обходить элементы списка вперед и назад.Менее эффективное использование памяти: Каждый элемент в
LinkedList
требует дополнительного пространства для хранения ссылок на предыдущий и следующий элементы, поэтомуLinkedList
может потреблять больше памяти по сравнению с другими структурами данных.Несинхронизированность:
LinkedList
не является синхронизированным, поэтому он не подходит для использования в многопоточных приложениях без дополнительной синхронизации.
Пример использования LinkedList
:
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// Добавление элементов в конец списка
list.add("apple");
list.add("banana");
list.add("orange");
// Добавление элемента в начало списка
list.addFirst("grape");
// Добавление элемента в середину списка
list.add(2, "kiwi");
// Удаление элемента из конца списка
String lastElement = list.removeLast();
System.out.println("Удаленный последний элемент: " + lastElement);
// Получение первого элемента списка
String firstElement = list.getFirst();
System.out.println("Первый элемент: " + firstElement);
// Итерация по элементам списка
for (String fruit : list) {
System.out.println(fruit);
}
}
}
Last updated
Was this helpful?