Метод getLast() в Java LinkedList
getLast()— это метод в JavaLinkedListпредоставляемый классом, используется для получения последнего элемента в связанном списке. Этот метод принадлежитjava.util.LinkedListбиблиотеке классов, и является одним из часто используемых методов для работы со структурами данных связанного списка.
Определение метода
public E getLast()
- Возвращаемый тип: обобщённый E (возвращает последний элемент в связанном списке)
- Выбрасываемое исключение: если связанный список пуст, выбрасывает
NoSuchElementException
Сценарии использования
Когда вам нужно:
- Проверить элемент в конце списка, не удаляя его
- Реализовать операцию peek для очереди (просмотреть, но не удалять хвостовой элемент)
- В алгоритмах, требующих частого доступа к элементам в хвосте связного списка
Пример базового использования
Пример
public class GetLastExample {
public static void main(String[] args) {
// Создаём LinkedList
LinkedList<String> fruits = new LinkedList<>();
// Добавить элементы
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// Используйте getLast() для получения последнего элемента
String lastFruit = fruits.getLast();
System.out.println("Последний фрукт: " + lastFruit);
}
}
Вывод:
最后一个水果是: Cherry
Важные замечания
1. Обработка пустого связного списка
Пример
// Эта строка вызовет NoSuchElementException
int last = emptyList.getLast();
Безопасное использование:
Пример
int last = emptyList.getLast();
} else {
System.out.println("Связный список пуст!");
}
2. Отличие от peekLast()
getLast(): выбрасывает исключение, если связный список пустpeekLast(): возвращает null, если связный список пуст
Соображения производительности
LinkedListявляется реализацией двусвязного списка,getLast()временная сложность метода — O(1), потому что он напрямую обращается к хвостовому узлу связного списка.
Пример практического применения
Реализация простой функции истории
Пример
// Добавить историю просмотров
history.add("Главная");
history.add("Страница товара");
history.add("Корзина");
// Получить последнюю посещённую страницу
String lastVisited = history.getLast();
System.out.println("Страница, которую вы последний раз посещали: " + lastVisited);
ЧАВО
Вопрос 1: В чём разница между getLast() и getFirst()?
getLast()Получить последний элемент связного спискаgetFirst()Получить первый элемент связного списка
Вопрос 2: Зачем нужен отдельный метод getLast()?
Потому чтоLinkedListimplementsDequeинтерфейс, и ему нужно эффективно поддерживать операции с обоих концов.
Вопрос 3: Как избежать исключения при вызове getLast()?
- Сначала проверьте, пуст ли связный список:
list.isEmpty() - Используйте
peekLast()метод вместо этого
Итог
getLast()Метод являетсяLinkedListпростой, но практичный метод в классе, который может помочь разработчикам быстро получить доступ к элементу в конце связного списка. Понимание поведения и возможных исключений этого метода очень важно для написания надёжного кода. В реальной разработке выбирайте в соответствии с конкретными потребностямиgetLast()илиpeekLast()может лучше обрабатывать граничные случаи.
Java LinkedList