Introduction
En Java, ArrayList est une classe d'implémentation de l'interface List dans le framework de collections et est utilisée pour stocker des données. Joindre deux ArrayLists est en fait un processus de combinaison des éléments de deux ArrayLists en une seule ArrayList. Cela est utile lorsque nous avons plusieurs flux de données et que nous voulons les rassembler en un seul flux.
Création d'ArrayLists
Tout d'abord, créons deux ArrayLists que nous souhaitons joindre. Voici un exemple où nous créons deux ArrayLists d'entiers :
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1060,1070));
System.out.println(arrList2);
}
}
Pour exécuter ce code, tapez la commande suivante dans le terminal :
javac Main.java && java Main
Cela produira la sortie suivante :
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
Joindre des ArrayLists avec addAll()
Pour joindre deux ArrayLists en utilisant la méthode addAll(), suivez le code ci-dessous :
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1060,1070));
System.out.println(arrList2);
// Joindre deux ArrayList
arrList1.addAll(arrList2);
System.out.println("Après avoir joint :");
System.out.println(arrList1);
}
}
Pour exécuter ce code, tapez la commande suivante dans le terminal :
javac Main.java && java Main
Cela produira la sortie suivante :
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
Après avoir joint :
[1030, 1020, 1010, 1040, 1050, 1060, 1070]
Joindre des ArrayLists avec flatMap()
Nous pouvons également joindre deux ArrayLists en utilisant la méthode flatMap() et la méthode distinct() en suivant le code ci-dessous :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1030,1070));
System.out.println(arrList2);
// Joindre deux ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("Après avoir joint :");
System.out.println(arrList3);
}
}
Pour exécuter ce code, tapez la commande suivante dans le terminal :
javac Main.java && java Main
Cela produira la sortie suivante :
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
Après avoir joint :
[1030, 1020, 1010, 1040, 1050, 1070]
Code complet
Voici le code complet pour joindre deux ArrayLists en Java :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1030,1070));
System.out.println(arrList2);
// Joindre deux ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("Après avoir joint :");
System.out.println(arrList3);
}
}
Exécution du code
Pour exécuter le code, tapez la commande suivante dans le terminal :
javac Main.java && java Main
Cela produira la sortie suivante :
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
Après avoir joint :
[1030, 1020, 1010, 1040, 1050, 1070]
Résumé
Dans ce laboratoire, nous vous avons montré comment joindre deux ArrayLists en Java en utilisant la méthode addAll() de List et la méthode flatMap() de l'API de flux. Nous vous avons également montré un exemple de jonction d'éléments uniques provenant de deux ArrayLists différents. Nous espérons que ce laboratoire vous a été utile!



