Ajouter plusieurs éléments à une liste de tableaux Java

Ajouter plusieurs éléments à une liste de tableaux Java

1. Vue d'ensemble deArrayList

Dans ce rapide didacticiel, nous allons montrer comment ajouter plusieurs éléments à unArrayList déjà initialisé.

Pour une introduction à l'utilisation desArrayList, veuillez vous référer àto this article here.

2. AddAll

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

Tout d'abord, nous utiliseronsaddAll(), 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 feront référence aux mêmes objets que les éléments deanotherList.

Pour cette raison, chaque modification apportée à l’un de ces éléments affectera les deux listes.

3. Collections.addAll

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

L'un d'eux estaddAll, 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 ici aux mêmes objets.

4. Utiliser Java 8

Cette version de Java ouvre nos possibilités en ajoutant de nouveaux outils. Celui que nous allons explorer dans les exemples suivants estStream:

List source = ...;
List target = ...;

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

Les principaux avantages de cette méthode sont la possibilité d'utiliser des filtres et des sauts. 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 en fonction de nos besoins. 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 null-safe. Pour ceux-là, nous pouvons utiliserOptional:

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

Dans l'exemple ci-dessus, nous ajoutons des éléments desource àtarget par la méthodeaddAll.

5. Conclusion

Dans cet article, nous avons exploré différentes manières d'ajouter plusieurs éléments à unArrayList déjà initialisé.

Comme toujours, des échantillons de code peuvent être trouvésover on GitHub.