НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування Java. W3Schools українською. Уроки для початківців

En

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