Ajouter plusieurs éléments à une ArrayList Java

1. Présentation de ArrayList

Dans ce rapide didacticiel, nous montrerons comment ajouter plusieurs éléments à un ArrayList déjà initialisé .

Pour une introduction à l'utilisation de ArrayList , veuillez consulter cet article ici.

2. AddAll

Tout d'abord, nous allons introduire un moyen simple d'ajouter plusieurs éléments dans une ArrayList .

Tout d'abord, nous utiliserons addAll () , qui prend une collection comme argument:

List anotherList = Arrays.asList(5, 12, 9, 3, 15, 88); list.addAll(anotherList);

Il est important de garder à l'esprit que les éléments ajoutés dans la première liste référenceront les mêmes objets que les éléments dans anotherList .

Pour cette raison, toutes les modifications apportées à l'un de ces éléments affecteront les deux listes.

3. Collections.addAll

La classe Collections se compose exclusivement de méthodes statiques qui opèrent sur ou retournent des collections.

L'un d'eux est addAll , qui nécessite une liste de destination et les éléments à ajouter peuvent être spécifiés individuellement ou sous forme de tableau.

Voici un exemple de son utilisation avec des éléments individuels:

List list = new ArrayList(); Collections.addAll(list, 1, 2, 3, 4, 5);

Et un autre pour illustrer l'opération avec deux tableaux:

List list = new ArrayList(); Integer[] otherList = new Integer[] {1, 2, 3, 4, 5}; Collections.addAll(list, otherList);

De manière similaire à la manière expliquée dans la section ci-dessus, le contenu des deux listes fera référence aux mêmes objets.

4. Utilisation de Java 8

Cette version de Java ouvre nos possibilités en ajoutant de nouveaux outils. Celui que nous explorerons dans les exemples suivants est Stream :

List source = ...; List target = ...; source.stream() .forEachOrdered(target::add);

Les principaux avantages de cette méthode sont la possibilité d'utiliser des sauts et des filtres. Dans l'exemple suivant, nous allons ignorer le premier élément:

source.stream() .skip(1) .forEachOrdered(target::add);

Il est possible de filtrer les éléments par nos nécessités. Par exemple, la valeur Integer:

source.stream() .filter(i -> i > 10) .forEachOrdered(target::add);

Enfin, il existe des scénarios dans lesquels nous souhaitons travailler de manière totalement sûre. Pour ceux-ci, nous pouvons utiliser facultatif :

Optional.ofNullable(source).ifPresent(target::addAll)

Dans l'exemple ci-dessus, nous ajoutons des éléments de la source à la cible par la méthode addAll .

5. Conclusion

Dans cet article, nous avons exploré différentes façons d'ajouter plusieurs éléments à une ArrayList déjà initialisée .

Comme toujours, des exemples de code peuvent être trouvés sur GitHub.