1. Ajouter un élément au milieu (ou au début) d'une liste
Si nous voulons insérer un élément au milieu de la liste, voici ce qui se passe à l'intérieur de la liste.
Supposons que nous ayons une liste de 11 éléments :
On veut insérer le nombre 10 000 dans la liste à l'indice 5. Pour cela, il suffit d'exécuter :
list.add(5, 10000);
Où list
est une ArrayList
variable. La add(int index, type value)
méthode ajoute la valeur 10000 à la position 5 dans la liste. Voici ce qui se passe dans la add()
méthode :
Étape 1 : Tous les éléments du tableau, à partir de la 5ème position, seront décalés (copiés) d'un élément vers la fin du tableau :
Notez que les éléments des 5e et 6e cellules du tableau sont désormais les mêmes.
Étape 2 : Écrivez la valeur 10 000 dans la 5ème cellule :
Maintenant, la liste contient tous les éléments du tableau et la cinquième cellule contient le nombre 10 000. Juste ce que nous voulions.
2. Supprimer un élément d'une liste
Supprimer un élément d'une liste est similaire à son insertion, mais le processus est inversé.
Supprimons le 3ème élément d'une liste. Pour ce faire, nous devons exécuter :
list.remove(3);
Voici ce qui se passe dans la méthode remove() :
Etape 1 : Les éléments du tableau, à partir de la 4ème position, seront décalés (copiés) d'1 élément vers le début du tableau :
Étape 2 : La valeur de la size
variable sera diminuée de 1.
Veuillez noter que certaines valeurs sont colorées en gris à la fin du tableau. Techniquement, ce sont des ordures. Ils doivent être supprimés afin de ne pas interférer avec la collecte des ordures .
Étape 3 : nettoyer les ordures
3. Exemples pratiques de travail avec une liste en Java
Écrivons quelques exemples de travail avec des listes :
Nous énumérerons tous les nombres pairs compris entre 1 et 20 :
Code | Remarques |
---|---|
|
Créer un objet de liste Boucler sur tous les indices 1 pour 20 Si l'indice est divisible par 2 sans reste, l'ajouter à la liste |
Affichons maintenant tous les éléments de la liste à l'écran :
Code | Remarques |
---|---|
|
Créer un objet liste Boucler sur tous les indices 1 pour 20 Si le nombre est divisible par 2 sans reste, l'ajouter à la liste Boucler de zéro à la taille de la liste Afficher chaque élément à l'écran |
Suppression d'éléments :
Supprimons maintenant tous les éléments divisibles par 4. Notez qu'après avoir supprimé un élément de la liste, les positions des éléments restants changent immédiatement.
Code | Remarques |
---|---|
|
Créer un objet liste Boucler sur tous les indices 1 pour 20 Si l'indice est divisible par 2 sans reste, l'ajouter à la liste Boucler de zéro à la taille de la liste Si un élément de la liste est divisible par 4 sans reste : a) supprimer l'élément b) diminue le i compteur pour obtenir le même indice à la prochaine itération de la boucle |
Disons que vous devez supprimer les 3 derniers éléments d'une liste.
Voici comment procéder de manière incorrecte :
Code | Remarques |
---|---|
|
Créer un objet liste La liste comporte 10 éléments : 2 , 4 , 6 , ... 20 n = 10 n - 3 = 7 (il reste 9 éléments dans la liste) n - 2 = 8 (il reste 8 éléments dans la liste) n - 1 = 9 (il reste 7 éléments dans la liste) |
Après avoir supprimé les 7ème et 8ème éléments, seuls 8 éléments resteront dans la liste. Cela signifie qu'il ne sera pas possible de supprimer le 9e élément — une erreur se produira dans le programme.
Voici la bonne façon de supprimer les éléments :
Option 1 | Option 2 |
---|---|
|
|
Les éléments doivent être supprimés soit de la fin, soit d'un autre emplacement cohérent, car les éléments sont décalés d'un élément après chaque opération de suppression.
GO TO FULL VERSION