Java LinkedList
Java LinkedList
У попередньому розділі ви дізналися про клас ArrayList
. Клас LinkedList
майже ідентичний ArrayList
:
Приклад
// Імпорт класу LinkedList
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
Спробуйте самі »
ArrayList vs. LinkedList
Клас LinkedList
— це колекція, яка може містити багато об’єктів одного типу, як і ArrayList
.
Клас LinkedList
має ті самі методи, що й клас ArrayList
, оскільки вони обидва реалізують інтерфейс List
. Це означає, що ви можете додавати елементи, змінювати елементи, видаляти елементи та очищати список таким же чином.
Однак, хоча класи ArrayList
і LinkedList
можна використовувати однаково, вони побудовані дуже по-різному.
Як працює ArrayList
У класі ArrayList
є звичайний масив. Коли елемент додається, він розміщується в масиві. Якщо масив недостатньо великий, замість старого створюється новий, більший масив, а старий видаляється.
Як працює LinkedList
LinkedList
зберігає свої елементи в "контейнерах". Список містить посилання на перший контейнер, а кожен контейнер має посилання на наступний контейнер у списку. Щоб додати елемент до списку, елемент поміщається в новий контейнер, і цей контейнер зв’язується з одним з інших контейнерів у списку.
Коли використовувати
Використовуйте ArrayList
для зберігання та доступу до даних і LinkedList
для маніпулювання даними.
LinkedList Методи
У багатьох випадках ArrayList
ефективніший, оскільки зазвичай потрібен доступ до випадкових елементів у списку, але LinkedList
надає декілька методів більш ефективного виконання певних операцій:
Метод | Опис | Спробуй це |
---|---|---|
addFirst() | Додати елемент на початок списку | Спробуй це » |
addLast() | Додати елемент у кінець списку | Спробуй це » |
removeFirst() | Видалити елемент з початку списку | Спробуй це » |
removeLast() | Видалити елемент із кінця списку | Спробуй це » |
getFirst() | Отримати предмет на початку списку | Спробуй це » |
getLast() | Отримати предмет у кінці списку | Спробуй це » |