Método Java LinkedList getFirst()

Java LinkedList Java LinkedList


getFirst()es, en Java,LinkedListun método proporcionado por la clase, utilizado para obtener el primer elemento de la lista enlazada. Este método pertenece a lajava.util.LinkedListclase, y es uno de los métodos básicos para operar con la estructura de datos de lista enlazada.

Declaración del método

public E getFirst()

Valor de retorno

Devuelve el primer elemento de la lista enlazada (elemento cabecera)


Explicación detallada del método

Descripción de la funcionalidad

getFirst()El método se utiliza para recuperar, pero no eliminar, el primer elemento (elemento cabecera) de la lista enlazada. Este métodopeekFirst()tiene la misma funcionalidad que el método `peekFirst()`, pero se comporta de manera diferente cuando la lista está vacía.

Complejidad temporal

O(1) - porque LinkedList mantiene internamente una referencia al nodo cabecera, por lo que se puede acceder directamente

Ejemplo de uso

Uso básico

Ejemplo

import java.util.LinkedList;

public class LinkedListExample {
    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 getFirst() para obtener el primer elemento
        String firstFruit = fruits.getFirst();
        System.out.println("La primera fruta es: " + firstFruit);  // Salida: La primera fruta es: Apple
    }
}

Comparación con métodos similares

Ejemplo

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

// getFirst() y peekFirst() tienen el mismo comportamiento en una lista no vacía
System.out.println(numbers.getFirst());  // Salida: 10
System.out.println(numbers.peekFirst()); // Salida: 10

// Pero su comportamiento es diferente cuando la lista está vacía
numbers.clear();

// System.out.println(numbers.getFirst()); // lanza NoSuchElementException
System.out.println(numbers.peekFirst());    // Salida: null

Consideraciones

Manejo de excepciones

Cuando la lista está vacía, llamar algetFirst()método lanzaráNoSuchElementException.

Ejemplo

if (!myList.isEmpty()) {
    E element = myList.getFirst();
    // Procesar el elemento
} else {
    System.out.println("La lista está vacía");
}

Método alternativo

Si desea que, cuando la lista esté vacía, se devuelvanullen lugar de lanzar una excepción, puede usar elpeekFirst()método:

Ejemplo

E element = myList.peekFirst();  // Devuelve null cuando la lista está vacía

Escenarios de aplicación práctica

Escenario 1: Procesar una cola

Ejemplo

LinkedList<Order> orderQueue = new LinkedList<>();
// Agregar pedidos...

// Obtener y procesar el primer pedido de la cola
if (!orderQueue.isEmpty()) {
    Order firstOrder = orderQueue.getFirst();
    processOrder(firstOrder);
}

Escenario 2: Implementar operaciones de pila

Aunque LinkedList se usa normalmente como cola, también se puede usar para implementar una pila (LIFO: último en entrar, primero en salir):

Ejemplo

LinkedList<String> stack = new LinkedList<>();
stack.push("First");  // Equivalente a addFirst()
stack.push("Second");
stack.push("Third");

// Ver el elemento en la cima de la pila sin eliminarlo
String top = stack.getFirst();  // Devuelve "Third"

Resumen

getFirst()El método esLinkedListun método simple pero práctico de la clase, que nos permite acceder rápidamente al primer elemento de la lista enlazada. Recuerda la diferencia de este método conpeekFirst()el método comparable, y elige cuál usar según tus necesidades reales. Si puede estar vacía, realiza una comprobación de nulidad antes de usarlo o considera usarpeekFirst()lo que puede evitar excepciones en tiempo de ejecución.

Java LinkedList Java LinkedList

Otras extensiones