Учебники по Java

Ява ГЛАВНАЯ Введение в Java Начало работы с Java Синтаксис Java Java-комментарии Java-переменные Типы данных Java Приведение типов Java Операторы Java Java-строки Java-математика Логические значения Java Java, если...иначе Java-переключатель Java-цикл во время выполнения Java для цикла Перерыв/продолжение Java Массивы Java

Java-методы

Java-методы Параметры метода Java Перегрузка метода Java Область применения Java Java-рекурсия

Java-классы

Java ООП Классы/объекты Java Атрибуты класса Java Методы класса Java Конструкторы Java Модификаторы Java Инкапсуляция Java Java-пакеты/API Наследование Java Java-полиморфизм Внутренние классы Java Java-абстракция Java-интерфейс Перечисления Java Пользовательский ввод Java Дата Java Список массивов Java Связанный список Java Java HashMap Набор хэшей для Java Java-итератор Классы-оболочки Java Исключения Java Java регулярное выражение Java-потоки Java-лямбда

Обработка файлов Java

Java-файлы Создание/запись файлов Java Файлы чтения Java Java Удалить файлы

Java Как

Добавить два числа

Справочник по Java

Ключевые слова Java Строковые методы Java Java математические методы

Примеры Java

Примеры Java Компилятор Java Java-упражнения Java-викторина Java-сертификат


Связанный список Java


Связанный список Java

В предыдущей главе вы узнали о 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

Внутри ArrayListкласса есть обычный массив. Когда элемент добавляется, он помещается в массив. Если массив недостаточно велик, создается новый массив большего размера для замены старого, а старый удаляется.

Как работает LinkedList

Магазин LinkedListхранит свои предметы в «контейнерах». В списке есть ссылка на первый контейнер, и каждый контейнер имеет ссылку на следующий контейнер в списке. Чтобы добавить элемент в список, этот элемент помещается в новый контейнер, и этот контейнер связывается с одним из других контейнеров в списке.

Когда использовать

Используйте ArrayListдля хранения и доступа к данным, а LinkedList также для управления данными.


Методы связанного списка

Во многих случаях метод ArrayListболее эффективен, так как обычно требуется доступ к случайным элементам в списке, но он LinkedListпредоставляет несколько методов для более эффективного выполнения определенных операций:

Method Description Try it
addFirst() Adds an item to the beginning of the list.
addLast() Add an item to the end of the list
removeFirst() Remove an item from the beginning of the list.
removeLast() Remove an item from the end of the list
getFirst() Get the item at the beginning of the list
getLast() Get the item at the end of the list