Метод getFirst() класса Java LinkedList
getFirst()— это метод в JavaLinkedListпредоставляемый классом, используется для получения первого элемента связного списка. Этот метод принадлежитjava.util.LinkedListклассу, и является одним из базовых методов для работы со структурами данных связного списка.
Объявление метода
public E getFirst()
Возвращаемое значение
Возвращает первый элемент (головной элемент) связного списка
Подробности метода
Описание
getFirst()Метод используется для получения, но не удаления первого элемента (головного элемента) связного списка. Этот метод функционально совпадает сpeekFirst()методом, но ведёт себя иначе, когда связный список пуст.
Временная сложность
O(1) — потому что 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
}
}
Сравнение с аналогичными методами
Пример
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. Поэтому лучше проверить, пуст ли связанный список, перед его использованием:
Пример
E element = myList.getFirst();
// Обработать элемент
} else {
System.out.println("Связанный список пуст");
}
Альтернативные методы
Если вы хотите вернутьnullвместо того чтобы выбрасывать исключение, можно использоватьpeekFirst()метод:
Пример
Практические сценарии применения
Сценарий 1: Обработка очереди
Пример
// Добавить заказы...
// Получить и обработать первый заказ в очереди
if (!orderQueue.isEmpty()) {
Order firstOrder = orderQueue.getFirst();
processOrder(firstOrder);
}
Сценарий 2: Реализация операций со стеком
Хотя LinkedList обычно используется как очередь, его также можно использовать для реализации стека (последним пришёл — первым вышел):
Пример
stack.push("First"); // Эквивалентно addFirst()
stack.push("Second");
stack.push("Third");
// Просмотреть верхний элемент стека, не удаляя его
String top = stack.getFirst(); // Возвращает "Third"
Итог
getFirst()метод — этоLinkedListпростой, но практичный метод в классе, позволяющий нам быстро получить доступ к первому элементу связанного списка. Помните его отличие отpeekFirst()и выбирайте, какой метод использовать, исходя из фактических потребностей. В случаях, когда он может быть пустым, перед использованием выполните проверку на null или рассмотрите использованиеpeekFirst()чтобы избежать исключений времени выполнения.
Java LinkedList