Метод addLast() в Java LinkedList

Java LinkedList Java LinkedList


addLast()Этот метод —LinkedListраспространённый метод, предоставляемый классом LinkedList в Java, используемый для добавления элементов в конец списка. Этот метод особенно полезен для реализации структур данных очереди (FIFO).

public void addLast(E e)

Параметры метода

Параметр Type Описание
e E Элемент, который нужно добавить в конец связанного списка

Возвращаемое значение

Этот метод не возвращает значение (voidтип void).

Особенности метода

  1. Временная сложность: O(1) - потому чтоLinkedListОн хранит указатели на головной и хвостовой узлы, поэтому элементы можно добавлять напрямую в конец.
  2. Не потокобезопасно: Этот метод не является потокобезопасным; при использовании в многопоточной среде требуется внешняя синхронизация.
  3. Допускает значения null: Можно добавлятьnullэлементы в связанный список
  4. Ограничение ёмкости:LinkedListОграничения ёмкости нет; элементы можно добавлять, пока не закончится память.

Пример использования

Базовое использование

Пример

import java.util.LinkedList;

public class LinkedListDemo {
    public static void main(String[] args) {
        // Создаём LinkedList
        LinkedList<String> fruits = new LinkedList<>();
       
        // Используйте метод addLast() для добавления элементов
        fruits.addLast("Apple");
        fruits.addLast("Banana");
        fruits.addLast("Cherry");
       
        // Вывести связный список
        System.out.println(fruits); // Вывод: [Apple, Banana, Cherry]
    }
}

Сравнение с методом add()

Пример

LinkedList<Integer> numbers = new LinkedList<>();

// addLast() и add() эквивалентны в LinkedList
numbers.add(1);      // Добавить в конец
numbers.addLast(2);  // Добавить в конец

System.out.println(numbers); // Вывод: [1, 2]

Исключения

addLast()Метод может выбрасывать следующие исключения:

  1. ClassCastException- Если класс указанного элемента не позволяет добавить его в этот список
  2. NullPointerException- Если список не допускает null-элементы и указанный элемент равен null
  3. IllegalArgumentException- Если некоторое свойство этого элемента не позволяет добавить его в этот список

Практические сценарии применения

  1. Реализация очереди:addLast()Это можно использовать для реализации операции постановки в очередь.
  2. Логирование: при записи событий в хронологическом порядке можно использовать этот метод.
  3. История: при реализации функциональности отмены/повтора связанный список можно использовать для хранения истории операций.

Пример

// Простой пример реализации очереди
LinkedList<String> queue = new LinkedList<>();

// Операция постановки в очередь
queue.addLast("Task1");
queue.addLast("Task2");
queue.addLast("Task3");

// Операция извлечения из очереди
String firstTask = queue.removeFirst();
System.out.println("Processing: " + firstTask);

Примечания

  1. Для частых операций произвольного доступа,ArrayListможет бытьLinkedListболее эффективен, чем
  2. В Java,LinkedListimplementsDequeинтерфейс, поэтому вы также можете использоватьofferLast()метод для достижения аналогичной функциональности
  3. Если связный список пуст,addLast()добавленный элемент станет первым и единственным элементом связного списка.

Итог

LinkedListизaddLast()Метод addLast() — простой, но мощный инструмент для эффективного добавления элементов в конец связного списка. Понимание того, как работает этот метод, и сценариев его применения может помочь вам сделать правильный выбор структуры данных, когда вам нужно часто добавлять элементы в конец коллекции.

Java LinkedList Java LinkedList

Другие расширения