List, ArrayList, LinkedListListList — это интерфейс в Java, представляющий упорядоченную коллекцию, допускающую дублирование элементов. Основные реализации интерфейса List включают ArrayList и LinkedList.ArrayListArrayList — это класс, реализующий интерфейс List, основанный на динамическом массиве. Он предоставляет быстрый доступ к элементам по индексу и эффективен для операций добавления и удаления элементов в конце списка.Основные методы ArrayListСоздание ArrayList:List<String> arrayList = new ArrayList<>();
Добавление элементов:arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
Доступ по индексу:String fruit = arrayList.get(0); // "Apple"
Изменение элемента:arrayList.set(1, "Grapes"); // Изменяет "Banana" на "Grapes"
Удаление элемента:arrayList.remove(0); // Удаляет "Apple"
Размер списка:int size = arrayList.size(); // 2
Перебор элементов:for (String fruit : arrayList) {
System.out.println(fruit);
}
LinkedListLinkedList — это класс, реализующий интерфейс List, основанный на двусвязном списке. Он предоставляет эффективное добавление и удаление элементов в середине списка, но доступ по индексу медленнее по сравнению с ArrayList.Основные методы LinkedListСоздание LinkedList:List<String> linkedList = new LinkedList<>();
Добавление элементов:linkedList.add("Apple");
linkedList.add("Banana");
linkedList.add("Orange");
Доступ по индексу:String fruit = linkedList.get(0); // "Apple"
Изменение элемента:linkedList.set(1, "Grapes"); // Изменяет "Banana" на "Grapes"
Удаление элемента:linkedList.remove(0); // Удаляет "Apple"
Размер списка:int size = linkedList.size(); // 2
Перебор элементов:for (String fruit : linkedList) {
System.out.println(fruit);
}
Сравнение ArrayList и LinkedListСтруктура данных:ArrayList основан на динамическом массиве.
LinkedList основан на двусвязном списке.Доступ по индексу:ArrayList обеспечивает быстрый доступ по индексу (O(1)).
LinkedList медленнее при доступе по индексу (O(n)).Добавление и удаление элементов:ArrayList быстрее добавляет и удаляет элементы в конце списка (O(1)).
LinkedList быстрее добавляет и удаляет элементы в середине списка (O(1) для добавления/удаления с начала/конца, O(n) для доступа по индексу).Использование памяти:ArrayList использует меньше памяти, так как хранит элементы в массиве.
LinkedList использует больше памяти из-за хранения ссылок на предыдущий и следующий элементы.#Java #Training #Collections