Méthode removeLast() de Java LinkedList

Java LinkedList Java LinkedList


removeLast()est en JavaLinkedListune méthode courante fournie par la classe, utilisée pour supprimer et renvoyer le dernier élément de la liste. Cette méthode appartient àjava.util.LinkedListla classe, et fait partie du Java Collections Framework.

Syntaxe de la méthode:

public E removeLast()

Valeur de retour:

  • Renvoie le dernier élément qui a été supprimé
  • Si la liste est vide, lanceNoSuchElementException

Caractéristiques de la méthode

1. Position de l'opération

removeLast()La méthode agit spécifiquement sur la queue de la liste, qui estremoveFirst()contrairement à la méthode.

2. Complexité temporelle

PuisqueLinkedListest une implémentation de liste doublement chaînée,removeLast()la complexité temporelle de la méthode est O(1), car le nœud de queue est accessible directement.

3. Cas d'exception

Appeler cette méthode lorsque la liste est vide lèvera une exceptionNoSuchElementException, il est donc généralement nécessaire de vérifier si la liste est vide avant utilisation.


Exemple d'utilisation

Voici un exemple de code complet montrant comment utiliserremoveLast()méthode :

Exemple

import java.util.LinkedList;

public class LinkedListDemo {
    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");
        fruits.add("Date");
       
        System.out.println("LinkedList d'origine : " + fruits);
       
        // Utiliser la méthode removeLast()
        String removedElement = fruits.removeLast();
       
        System.out.println("Élément supprimé : " + removedElement);
        System.out.println("LinkedList après l'opération : " + fruits);
    }
}

Sortie:

原始链表: [Apple, Banana, Cherry, Date]
被移除的元素: Date
操作后的链表: [Apple, Banana, Cherry]

Comparaison avec d'autres méthodes

1. removeLast() vs removeFirst()

  • removeLast()Supprimer et renvoyer le dernier élément
  • removeFirst()Supprimer et renvoyer le premier élément

2. removeLast() vs pollLast()

  • Les deux suppriment et renvoient le dernier élément
  • La principale différence réside dans le comportement lorsque la liste est vide :
    • removeLast()Lance une exception
    • pollLast()Retourne null

3. removeLast() vs pop()

  • pop()Ce qui est réellement appelé estremoveFirst(), et ce qui est supprimé est le premier élément
  • removeLast()supprime le dernier élément

Bonnes pratiques

1. Vérification de liste vide

Pour éviter `NoSuchElementException`, il est recommandé de vérifier si la liste est vide avant utilisation :

Exemple

if (!myLinkedList.isEmpty()) {
    myLinkedList.removeLast();
}

2. Approches alternatives

Si vous ne voulez pas gérer les exceptions, vous pouvez utiliserpollLast()méthode :

Exemple

// Renvoie null si la liste est vide
String lastElement = myLinkedList.pollLast();

3. Considérations sur les performances

PuisqueLinkedListderemoveLast()l'opération est en temps constant, adaptée aux suppressions fréquentes en queue. Si le scénario implique davantage d'accès aléatoires, envisagez d'utiliserArrayList。


Résumé

LinkedList.removeLast()est une méthode efficace, spécifiquement utilisée pour supprimer des éléments de la queue d'une liste chaînée. Comprendre les caractéristiques comportementales de cette méthode et ses différences avec d'autres méthodes similaires peut aider les développeurs à utiliser plus efficacementLinkedListla classe.

Java LinkedList Java LinkedList

Autres extensions