Метод getFirst() класса Java LinkedList

Java LinkedList Java LinkedList


getFirst()— это метод в JavaLinkedListпредоставляемый классом, используется для получения первого элемента связного списка. Этот метод принадлежитjava.util.LinkedListклассу, и является одним из базовых методов для работы со структурами данных связного списка.

Объявление метода

public E getFirst()

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

Возвращает первый элемент (головной элемент) связного списка


Подробности метода

Описание

getFirst()Метод используется для получения, но не удаления первого элемента (головного элемента) связного списка. Этот метод функционально совпадает сpeekFirst()методом, но ведёт себя иначе, когда связный список пуст.

Временная сложность

O(1) — потому что LinkedList внутренне хранит ссылку на головной узел, к нему можно обратиться напрямую

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

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

Пример

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        // Создаём LinkedList
        LinkedList<String> fruits = new LinkedList<>();
       
        // Добавить элементы
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");
       
        // Используйте getFirst(), чтобы получить первый элемент
        String firstFruit = fruits.getFirst();
        System.out.println("第一个水果是: " + firstFruit);  // Вывод: Первый фрукт: Apple
    }
}

Сравнение с аналогичными методами

Пример

LinkedList<Integer> numbers = new LinkedList<>();
numbers.add(10);
numbers.add(20);

// getFirst() и peekFirst() ведут себя одинаково в непустом связном списке
System.out.println(numbers.getFirst());  // Вывод: 10
System.out.println(numbers.peekFirst()); // Вывод: 10

// Но они ведут себя по-разному, когда связный список пуст
numbers.clear();

// System.out.println(numbers.getFirst()); // Выбрасывает NoSuchElementException
System.out.println(numbers.peekFirst());    // Вывод: null

Примечания

Обработка исключений

Когда связный список пуст, вызовgetFirst()метод выбросит исключениеNoSuchElementException. Поэтому лучше проверить, пуст ли связанный список, перед его использованием:

Пример

if (!myList.isEmpty()) {
    E element = myList.getFirst();
    // Обработать элемент
} else {
    System.out.println("Связанный список пуст");
}

Альтернативные методы

Если вы хотите вернутьnullвместо того чтобы выбрасывать исключение, можно использоватьpeekFirst()метод:

Пример

E element = myList.peekFirst();  // Возвращает null, когда связанный список пуст

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

Сценарий 1: Обработка очереди

Пример

LinkedList<Order> orderQueue = new LinkedList<>();
// Добавить заказы...

// Получить и обработать первый заказ в очереди
if (!orderQueue.isEmpty()) {
    Order firstOrder = orderQueue.getFirst();
    processOrder(firstOrder);
}

Сценарий 2: Реализация операций со стеком

Хотя LinkedList обычно используется как очередь, его также можно использовать для реализации стека (последним пришёл — первым вышел):

Пример

LinkedList<String> stack = new LinkedList<>();
stack.push("First");  // Эквивалентно addFirst()
stack.push("Second");
stack.push("Third");

// Просмотреть верхний элемент стека, не удаляя его
String top = stack.getFirst();  // Возвращает "Third"

Итог

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

Java LinkedList Java LinkedList

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