Introdução
Em Java, ArrayList é uma classe de implementação da interface List no framework de coleções e é usada para armazenar dados. Juntar duas ArrayLists é, na verdade, um processo de combinar os elementos de duas ArrayLists em uma única ArrayList. Isso é útil quando temos múltiplos fluxos de dados e queremos coletá-los em um único fluxo.
Criando ArrayLists
Primeiramente, vamos criar duas ArrayLists que queremos juntar. Aqui está um exemplo onde criamos duas ArrayLists de inteiros:
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);
}
}
Para executar este código, digite o seguinte comando no terminal:
javac Main.java && java Main
Isso exibirá o seguinte:
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
Juntando ArrayLists com addAll()
Para juntar duas ArrayLists usando o método addAll(), siga o código abaixo:
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);
// Joining two ArrayList
arrList1.addAll(arrList2);
System.out.println("After Joining:");
System.out.println(arrList1);
}
}
Para executar este código, digite o seguinte comando no terminal:
javac Main.java && java Main
Isso exibirá o seguinte:
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1060, 1070]
Juntando ArrayLists com flatMap()
Também podemos juntar duas ArrayLists usando o método flatMap() e o método distinct(), seguindo o código abaixo:
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);
// Joining two ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("After Joining:");
System.out.println(arrList3);
}
}
Para executar este código, digite o seguinte comando no terminal:
javac Main.java && java Main
Isso exibirá o seguinte:
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1070]
Código Completo
Aqui está o código completo para juntar duas ArrayLists em 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);
// Joining two ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("After Joining:");
System.out.println(arrList3);
}
}
Executando o Código
Para executar o código, digite o seguinte comando no terminal:
javac Main.java && java Main
Isso exibirá o seguinte:
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1070]
Resumo
Neste laboratório, mostramos como juntar duas ArrayLists em Java usando o método addAll() de List e o método flatMap() da API de stream. Também mostramos um exemplo de como juntar elementos únicos de duas ArrayLists diferentes. Esperamos que este laboratório tenha sido útil para você!



