Méthode set() de Java LinkedList

Java LinkedList Java LinkedList


LinkedListest une classe importante du Java Collections Framework, elle implémenteListl'interface.set()la méthode estLinkedListune méthode très utile fournie par la classe, utilisée pour remplacer l'élément à la position spécifiée dans la liste chaînée.

En termes simples,set()la méthode vous permet de :

  1. Accéder à une position spécifique dans la liste chaînée par index
  2. Remplace l'ancien élément à cette position par un nouvel élément
  3. Renvoie l'ancien élément qui a été remplacé

Syntaxe de la méthode

set()La syntaxe complète de la méthode est la suivante :

public E set(int index, E element)

Description des paramètres :

  • index: La position de l'élément à remplacer (en comptant à partir de 0)
  • element: Le nouvel élément à stocker à la position spécifiée

Valeur de retour :

  • Renvoie l'ancien élément qui a été remplacé

Exemple d'utilisation

Comprenons à l'aide d'un exemple de code completset()l'utilisation de la méthode :

Exemple

import java.util.LinkedList;

public class LinkedListSetExample {
    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 set() pour remplacer le deuxième élément
        String replaced = fruits.set(1, "Blueberry");
       
        System.out.println("Élément remplacé : " + replaced);
        System.out.println("LinkedList modifiée : " + fruits);
    }
}

Sortie :

原始链表: [Apple, Banana, Cherry, Date]
被替换的元素: Banana
修改后的链表: [Apple, Blueberry, Cherry, Date]

Notes

Exception d'indice hors limites

Si l'indice spécifié est en dehors de la plage de la liste chaînée (index < 0 ou index >= size()),set()la méthode lèveraIndexOutOfBoundsException。

Exemple

// Cela lèvera une exception car l'indice 4 n'existe pas (la liste chaînée ne contient que 4 éléments, la plage d'indices est 0-3)
fruits.set(4, "Figue");

Considérations de performance

PuisqueLinkedListest implémentée sur la base d'une liste chaînée,set()la méthode doit parcourir la liste chaînée pour trouver l'élément à la position spécifiée, donc :

  • La complexité temporelle moyenne est O(n)
  • Pour les scénarios nécessitant un accès aléatoire fréquent,ArrayListpeut être un meilleur choix

Valeurs null non autorisées

SiLinkedListn'autorise pas les éléments null (selon l'implémentation spécifique), tenter de définir une valeur null peut lever une exceptionNullPointerException。


Comparaison avec d'autres méthodes

set() vs add()

  • set(): Remplace l'élément à la position spécifiée
  • add(): Insère un nouvel élément à la position spécifiée, en décalant l'élément d'origine vers l'arrière

set() vs get()

  • set(): Modifie l'élément à la position spécifiée et renvoie l'ancienne valeur
  • get(): Récupère uniquement l'élément à la position spécifiée sans modifier la liste chaînée

Scénarios d'application pratiques

set()La méthode est particulièrement utile dans les scénarios suivants :

  1. Mise à jour d'éléments spécifiques dans une liste chaînée
  2. Remplacer les enregistrements d'historique lors de l'implémentation de la fonctionnalité annuler/rétablir
  3. Modification des données d'étapes intermédiaires dans les algorithmes
  4. Mise à jour des états d'objets dans le développement de jeux

Résumé

LinkedListdeset()La méthode est un outil simple mais puissant qui permet aux développeurs de modifier précisément des éléments spécifiques dans une liste chaînée. Comprendre son fonctionnement et ses limites vous aidera à l'utiliser plus efficacement dans la programmation réelle.LinkedListcollections.

Java LinkedList Java LinkedList

Autres extensions