Java LinkedList
Оновлено: 22.05.2023
Java LinkedList
У попередній главі ви дізналися про клас ArrayList. Клас LinkedList майже ідентичний класу ArrayList:
// Import the LinkedList class
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 проти LinkedList
Клас LinkedList - це колекція, яка може містити багато об'єктів одного типу, так само як і ArrayList.
Клас LinkedList має всі ті самі методи, що й клас ArrayList, оскільки вони обидва реалізують інтерфейс List. Це означає, що ви можете додавати елементи, змінювати їх, видаляти та очищати список у той самий спосіб.
Однак, незважаючи на те, що класи ArrayList і LinkedList можна використовувати однаково, вони побудовані дуже по-різному.
Клас ArrayList має всередині себе звичайний масив. Коли додається елемент, він поміщається в масив. Якщо масив недостатньо великий, створюється новий, більший масив, який замінює старий, а старий видаляється.
LinkedList зберігає свої елементи у "контейнерах". Список має посилання на перший контейнер, а кожен контейнер має посилання на наступний контейнер у списку. Щоб додати елемент до списку, елемент поміщається в новий контейнер, і цей контейнер пов'язується з одним з інших контейнерів у списку.
Методи LinkedList
У багатьох випадках ArrayList є більш ефективним, оскільки часто потрібен доступ до випадкових елементів у списку, але LinkedList надає кілька методів для більш ефективного виконання певних операцій: