La classe LinkedList est l'une des classes de collection couramment utilisées en Java. Il s'agit d'une structure de liste doublement chaînée. La classe LinkedList fournit de nombreuses méthodes pour gérer les listes chaînées, notamment l'ajout, la suppression et d'autres opérations. Parmi elles, la méthode RemoveFirst() est une méthode importante dans la classe LinkedList. Cet article analysera les fonctions de cette méthode et fournira des exemples de code correspondants pour aider les lecteurs à mieux comprendre l'utilisation de cette méthode.
La méthoderemoveFirst() est utilisée pour supprimer le premier élément de l'en-tête de la liste chaînée et renvoyer la valeur de l'élément. Si la liste chaînée est vide, cette méthode lancera NoSuchElementException. La définition détaillée de cette méthode est la suivante :
public E removeFirst() { if (size == 0) throw new NoSuchElementException(); final Node<E> f = first; first = f.next; f.next = null; size--; return f.item; }
Comme le montre le code ci-dessus, l'implémentation spécifique de la méthode RemoveFirst() est très simple. Ci-dessous, nous analyserons étape par étape les principales fonctions de cette méthode :
(1) Déterminer si la liste chaînée est vide
Au début de la méthode, utilisez l'instruction if pour déterminer si la taille de la liste chaînée est 0 . Si la liste chaînée est vide, NoSuchElementException sera levée, ce qui constitue la première étape de la méthode removeFirst().
(2) Enregistrez le nœud principal
Comme mentionné précédemment, la fonction principale de la méthode removeFirst() est de supprimer le nœud principal de la liste chaînée. Par conséquent, le premier nœud doit être enregistré avant d’effectuer l’opération de suppression de liste chaînée.
(3) Modifier le pointage du nœud principal
Afin de supprimer le premier élément de la tête de la liste chaînée, le pointage du nœud principal doit être modifié. Dans cette méthode, nous attribuons les nœuds successeurs du nœud principal au nœud principal. De cette façon, le nœud principal pointe vers le deuxième nœud de la liste chaînée d'origine.
(4) Effacer les références des nœuds supprimés
Étant donné que Java adopte un mécanisme de récupération de place automatique, une fois le nœud supprimé, il reste encore une partie de la mémoire qui n'a pas été recyclée par le mécanisme de recyclage automatique. la mémoire occupe l'espace mémoire. Si elle est longue, si le temps n'est pas recyclé, une accumulation de mémoire se produira et ce phénomène rendra l'utilisation de la mémoire du programme trop élevée. Par conséquent, afin d'éviter que cette situation ne se produise, la référence de nœud supprimée doit être supprimée de la mémoire pour libérer la mémoire occupée par le nœud.
(5) Modifier le nombre d'éléments dans la liste chaînée
Après la suppression d'un élément, le nombre d'éléments dans la liste chaînée doit être réduit de 1 en conséquence.
(6) Renvoie la valeur de l'élément supprimé
Enfin, cette méthode renvoie la valeur du nœud supprimé. Puisque nous avons enregistré le nœud principal dans la deuxième étape, nous pouvons directement renvoyer le nœud principal enregistré.
Ce qui suit est un exemple simple d'utilisation de la méthode RemoveFirst(), qui contient les étapes principales suivantes :
(1) Créez un objet LinkedList et ajoutez quelques éléments ; (2) Utilisez la méthode removeFirst() pour supprimer le premier élément de la liste chaînée ;
(3) Affichez les éléments de la liste chaînée après avoir supprimé l'élément.
import java.util.LinkedList; public class RemoveFirstTest { public static void main(String[] args) { LinkedList<String> list = new LinkedList<>(); list.add("A"); list.add("B"); list.add("C"); System.out.println("Before remove first: " + list); String first = list.removeFirst(); System.out.println("Deleted element: " + first); System.out.println("After remove first: " + list); } }
Exécutez le code ci-dessus et le résultat est le suivant :
Before remove first: [A, B, C] Deleted element: A After remove first: [B, C]
Comme le montre la sortie, cette méthode supprime avec succès le premier élément de la liste chaînée et renvoie correctement la valeur de l'élément.
ConclusionCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!