Méthode getFirst() de LinkedList en Java

Java LinkedList Java LinkedList


getFirst()est une méthode en JavaLinkedListfournie par la classe, utilisée pour obtenir le premier élément d'une liste chaînée. Cette méthode appartient à lajava.util.LinkedListclasse, et est l'une des méthodes de base pour manipuler les structures de données de listes chaînées.

Déclaration de méthode

public E getFirst()

Valeur de retour

Renvoie le premier élément (élément de tête) de la liste chaînée


Détails de la méthode

Description

getFirst()La méthode est utilisée pour récupérer sans supprimer le premier élément (élément de tête) de la liste chaînée. Cette méthode est fonctionnellement identique à lapeekFirst()méthode, mais se comporte différemment lorsque la liste chaînée est vide.

Complexité temporelle

O(1) - Car LinkedList maintient en interne une référence au nœud de tête, on peut y accéder directement

Exemple d'utilisation

Utilisation de base

Exemple

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        // Créer une LinkedList
        LinkedList<String> fruits = new LinkedList<>();
       
        // Ajouter des éléments
        fruits.add("Pomme");
        fruits.add("Banane");
        fruits.add("Cherry");
       
        // Utiliser getFirst() pour obtenir le premier élément
        String firstFruit = fruits.getFirst();
        System.out.println("Le premier fruit est : " + firstFruit);  // Sortie : Le premier fruit est : Apple
    }
}

Comparaison avec des méthodes similaires

Exemple

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

// getFirst() et peekFirst() se comportent de la même manière dans une liste chaînée non vide
System.out.println(numbers.getFirst());  // Sortie : 10
System.out.println(numbers.peekFirst()); // Sortie : 10

// Mais elles se comportent différemment lorsque la liste chaînée est vide
numbers.clear();

// System.out.println(numbers.getFirst()); // Lève NoSuchElementException
System.out.println(numbers.peekFirst());    // Sortie : null

Notes

Gestion des exceptions

Lorsque la liste chaînée est vide, l'appel de lagetFirst()la méthode lèveraNoSuchElementException. Par conséquent, il est préférable de vérifier si la liste chaînée est vide avant de l'utiliser :

Exemple

if (!myList.isEmpty()) {
    E element = myList.getFirst();
    // Traiter l'élément
} else {
    System.out.println("La liste chaînée est vide");
}

Méthodes alternatives

Si vous voulez renvoyernullau lieu de lever une exception, vous pouvez utiliser lapeekFirst()méthode :

Exemple

E element = myList.peekFirst();  // Renvoie null lorsque la liste chaînée est vide

Scénarios d'application pratiques

Scénario 1 : Traitement d'une file

Exemple

LinkedList<Order> orderQueue = new LinkedList<>();
// Ajouter des commandes...

// Récupérer et traiter la première commande dans la file d'attente
if (!orderQueue.isEmpty()) {
    Order firstOrder = orderQueue.getFirst();
    processOrder(firstOrder);
}

Scénario 2 : Implémentation des opérations de pile

Bien que LinkedList soit généralement utilisée comme une file d'attente, elle peut également être utilisée pour implémenter une pile (dernier entré, premier sorti) :

Exemple

LinkedList<String> stack = new LinkedList<>();
stack.push("First");  // Équivalent à addFirst()
stack.push("Second");
stack.push("Third");

// Afficher l'élément au sommet de la pile sans le retirer
String top = stack.getFirst();  // Renvoie "Third"

Résumé

getFirst()méthode est uneLinkedListméthode simple mais pratique de la classe, nous permettant d'accéder rapidement au premier élément d'une liste chaînée. N'oubliez pas sa différence avecpeekFirst()et choisissez la méthode à utiliser en fonction des besoins réels. Dans les cas où elle peut être vide, effectuez une vérification de null avant utilisation ou envisagez d'utiliserpeekFirst()pour éviter les exceptions d'exécution.

Java LinkedList Java LinkedList

Autres extensions