CodeGym /Blog Java /Random-FR /Méthode Java ArrayList addAll()
Auteur
Artem Divertitto
Senior Android Developer at United Tech

Méthode Java ArrayList addAll()

Publié dans le groupe Random-FR
Si vous avez besoin d'ajouter tous les éléments d'une collection ArrayList() à une autre, vous pouvez utiliser la méthode addAll() de la classe Java ArrayList . Dans cet article, je vais expliquer comment cette méthode fonctionne et fournir quelques exemples de code.

Signature de la méthode ArrayList addAll()

Il existe deux variantes de la méthode java.util.ArrayList.addAll . Les voici.

boolean addAll(Collection<? extends E> c)
Cette méthode renvoie true si la liste a été modifiée à la suite de l'appel, mais surtout, elle ajoute tous les éléments de la collection spécifiée à la fin de cette liste, dans l'ordre dans lequel ils sont renvoyés par l'Iterator de la collection spécifiée. L'élément c est la liste qui sera ajoutée à votre ArrayList . De plus, la méthode lève NullPointerException si la collection spécifiée est nulle.

boolean addAll(int index, Collection<? extends E> c)
Cette méthode insère tous les éléments de la collection c spécifiée dans cette liste, en commençant à l'index de position spécifié.

Exemple de syntaxe ArrayList addAll()

Voici à quoi ressemble l'appel à la méthode ArrayList addAll() dans un programme Java :

myList.addAll(myNewList)) 
myList est la ArrayList d'origine et myNewList est une liste, dont toutes les valeurs seront ajoutées à myList si elles existent.

myList.addAll(2, myNewList)) 
Une variante de la méthode ArrayList addAll() avec deux paramètres. Tous les éléments de myNewList seront ajoutés à myList , et le premier élément myNewList[0] deviendra myList[2] , myNewList[1] est maintenant myList[3] , et ainsi de suite. Les éléments de la liste d'origine, à partir de numéro 2, sont reportés à la fin de la nouvelle liste combinée.

Exemples de code ArrayList addAll()

Il est maintenant temps pour quelques exemples de code. Créons une liste de nos amis, appelons-la "amis", et ajoutons-y leurs noms. Dites, nous avons commencé l'université et nous nous sommes fait quelques nouveaux amis à la fois. C'est le bon moment pour leur créer une nouvelle liste d'amis. Le temps a passé, vous vous êtes assuré que vos nouveaux amis étaient réels une fois, vous avez donc décidé de les déplacer vers la liste d'amis principale. Vous pouvez le faire en utilisant la méthode addAll(). Dans le programme, nous allons imprimer sur la console la liste initiale des amis, la liste des nouveaux amis, la liste des amis mise à jour, ainsi que la valeur booléenne renvoyée par la méthode addAll() . Elle renvoie true si la liste d'origine a été modifiée en raison de l'opération de la méthode et false si cela ne s'est pas produit.

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo {
       public static void main(String[] args) {

           List<String> friends = new ArrayList<>();
           friends.add("Johnny");
           friends.add("Ivy");
           friends.add("Rick");
           System.out.println(friends);
           List<String> newFriends = new ArrayList<>();
           newFriends.add("Andrew");
           newFriends.add("Alex");
           newFriends.add("Neil");
           System.out.println(newFriends);
           //let's print out the value addAll() method returns
           //here it's true because list friends was changed
           System.out.println(friends.addAll(newFriends));
           System.out.println("My new list with new friends added: ");
           System.out.println(friends);
       }
   }
la sortie est:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true Ma nouvelle liste avec de nouveaux amis ajoutés : [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Si nous faisons la même opération mais essayons d'ajouter une liste vide d'amis, la méthode fonctionnera, mais elle renverra faux, pas vrai puisque la liste d'origine n'a pas changé.

import java.util.ArrayList;
       import java.util.List;

public class AddAllDemo3 {
   public static void main(String[] args) {
       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       System.out.println(newFriends);
       System.out.println(friends.addAll(newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
La sortie est:
[Johnny, Ivy, Rick] [] false Ma nouvelle liste avec de nouveaux amis ajoutés : [Johnny, Ivy, Rick]
Essayons maintenant la méthode addAll() avec deux paramètres.

boolean addAll(int index, Collection<? extends E> c)
Ajoutons à nouveau de nouveaux amis à la liste, pas dans la queue, mais au milieu. Disons juste après Johnny, qui dans notre cas est l'élément numéroté zéro.

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo2 {
   public static void main(String[] args) {

       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       newFriends.add("Andrew");
       newFriends.add("Alex");
       newFriends.add("Neil");
       System.out.println(newFriends);
       System.out.println(friends.addAll(1, newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
Le résultat attendu du travail du programme : Andrew est désormais numéro 1 dans la liste combinée, Alex - 2, Neil - 3, et Ivy, qui était numéro 1 auparavant, est passée à la 4e position.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true Ma nouvelle liste avec de nouveaux amis ajoutés : [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION