Método Java LinkedList getLast()

Java LinkedList Java LinkedList


getLast()es en JavaLinkedListun método proporcionado por la clase, utilizado para obtener el último elemento de la lista enlazada. Este método pertenecejava.util.LinkedLista la biblioteca de clases, y es uno de los métodos comúnmente utilizados al operar con estructuras de datos de listas enlazadas.

Definición del método

public E getLast()
  • Tipo de retorno: tipo genérico E (retorna el último elemento de la lista enlazada)
  • Excepción lanzada: si la lista enlazada está vacía, lanzaNoSuchElementException

Escenarios de uso

Cuando necesite:

  1. Revisar el elemento al final de la lista enlazada sin eliminarlo
  2. Implementar la operación peek de una cola (ver pero no eliminar el elemento al final de la cola)
  3. En algoritmos que requieren acceso frecuente al elemento final de la lista enlazada

Ejemplo de uso básico

Ejemplo

import java.util.LinkedList;

public class GetLastExample {
    public static void main(String[] args) {
        // Crear un LinkedList
        LinkedList<String> fruits = new LinkedList<>();
       
        // Agregar elementos
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");
       
        // Usar getLast() para obtener el último elemento
        String lastFruit = fruits.getLast();
        System.out.println("La última fruta es: " + lastFruit);
    }
}

Resultado de salida:

最后一个水果是: Cherry

Consideraciones

1. Manejo de lista vacía

Ejemplo

LinkedList<Integer> emptyList = new LinkedList<>();
// Esta línea de código lanzará NoSuchElementException
int last = emptyList.getLast();

Uso seguro:

Ejemplo

if (!emptyList.isEmpty()) {
    int last = emptyList.getLast();
} else {
    System.out.println("¡La lista enlazada está vacía!");
}

2. Diferencia con peekLast()

  • getLast(): si la lista enlazada está vacía, lanza una excepción
  • peekLast(): devuelve null cuando la lista enlazada está vacía

Consideraciones de rendimiento

LinkedListes una implementación de lista doblemente enlazada,getLast()La complejidad temporal del método es O(1), porque accede directamente al nodo final de la lista enlazada.


Caso de aplicación práctica

Implementar una función simple de historial

Ejemplo

LinkedList<String> history = new LinkedList<>();

// Agregar registro de navegación
history.add("Inicio");
history.add("Página de producto");
history.add("Carrito de compras");

// Obtener la página visitada más recientemente
String lastVisited = history.getLast();
System.out.println("Lo último que visitó fue: " + lastVisited);

Preguntas frecuentes

Q1: ¿Cuál es la diferencia entre getLast() y getFirst()?

  • getLast()Obtiene el último elemento de la lista enlazada
  • getFirst()Obtiene el primer elemento de la lista enlazada

Q2: ¿Por qué se necesita proporcionar el método getLast() por separado?

PorqueLinkedListimplementa laDequeinterfaz, necesita soportar eficientemente operaciones de doble extremo.

Q3: ¿Cómo evitar que getLast() lance una excepción?

  1. Primero verifique si la lista enlazada está vacía:list.isEmpty()
  2. UsarpeekLast()método en su lugar

Resumen

getLast()El método esLinkedListun método simple pero práctico en la clase, que puede ayudar a los desarrolladores a acceder rápidamente al elemento final de la lista enlazada. Comprender el comportamiento de este método y las posibles excepciones es muy importante para escribir código robusto. En el desarrollo real, según las necesidades específicas, elegirgetLast()opeekLast()puede manejar mejor los casos límite.

Java LinkedList Java LinkedList

Otras extensiones