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() | Отримати предмет у кінці списку | Спробуй це » |

