Méthode getLast() de Java LinkedList

Java LinkedList Java LinkedList


getLast()est une méthode en JavaLinkedListfournie par la classe, utilisée pour obtenir le dernier élément de la liste chaînée. Cette méthode appartient àjava.util.LinkedListà la bibliothèque de classes, et est l'une des méthodes couramment utilisées pour manipuler des structures de données de liste chaînée.

Définition de méthode

public E getLast()
  • Type de retour: E générique (renvoie le dernier élément de la liste chaînée)
  • Exception levée: si la liste chaînée est vide, lève une exceptionNoSuchElementException

Cas d'utilisation

Lorsque vous avez besoin de :

  1. Vérifier l'élément à la fin de la liste sans le supprimer
  2. Implémenter une opération peek de file d'attente (visualiser mais ne pas retirer l'élément de queue)
  3. Dans les algorithmes qui nécessitent un accès fréquent aux éléments en queue de la liste chaînée

Exemple d'utilisation de base

Exemple

import java.util.LinkedList;

public class GetLastExample {
    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 getLast() pour obtenir le dernier élément
        String lastFruit = fruits.getLast();
        System.out.println("Le dernier fruit est : " + lastFruit);
    }
}

Sortie:

最后一个水果是: Cherry

Remarques importantes

1. Gestion d'une liste chaînée vide

Exemple

LinkedList<Integer> emptyList = new LinkedList<>();
// Cette ligne lèvera NoSuchElementException
int last = emptyList.getLast();

Utilisation sûre:

Exemple

if (!emptyList.isEmpty()) {
    int last = emptyList.getLast();
} else {
    System.out.println("La liste chaînée est vide !");
}

2. Différence par rapport à peekLast()

  • getLast(): lève une exception si la liste chaînée est vide
  • peekLast(): renvoie null lorsque la liste chaînée est vide

Considérations de performance

LinkedListest une implémentation de liste doublement chaînée,getLast()la complexité temporelle de la méthode est O(1), car elle accède directement au nœud de queue de la liste chaînée.


Exemple d'application pratique

Implémentation d'une fonctionnalité d'historique simple

Exemple

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

// Ajouter l'historique de navigation
history.add("Home");
history.add("Product Page");
history.add("Shopping Cart");

// Récupérer la page la plus récemment visitée
String lastVisited = history.getLast();
System.out.println("La page que vous avez visitée en dernier est : " + lastVisited);

FAQ

Q1 : Quelle est la différence entre getLast() et getFirst() ?

  • getLast()Obtenir le dernier élément de la liste chaînée
  • getFirst()Obtenir le premier élément de la liste chaînée

Q2 : Pourquoi une méthode getLast() distincte est-elle nécessaire ?

Parce queLinkedListimplementsDequel'interface, et doit prendre en charge efficacement les opérations à double extrémité.

Q3 : Comment éviter que getLast() lève une exception ?

  1. Vérifiez d'abord si la liste chaînée est vide :list.isEmpty()
  2. UtiliserpeekLast()la méthode à la place

Résumé

getLast()La méthode estLinkedListune méthode simple mais pratique dans la classe, qui peut aider les développeurs à accéder rapidement à l'élément à la fin de la liste chaînée. Comprendre le comportement et les exceptions potentielles de cette méthode est très important pour écrire du code robuste. En développement réel, choisissez en fonction des besoins spécifiquesgetLast()oupeekLast()peut mieux gérer les cas limites.

Java LinkedList Java LinkedList

Autres extensions