Como Participar de Duas Listas em Java
-
Utilize o
Stream
para Juntar-se a Duas Listas em Java -
Utilize
parametrizar construtor
para juntar duas listas em Java -
Utilize
predeclared new array
para juntar duas listas em Java
Muitas vezes, antes de iniciar qualquer procedimento, temos que combinar várias listas em uma só. Há várias maneiras diferentes de fundir duas listas ou combiná-las em listas maiores. Neste artigo, analisaremos duas formas rápidas de fundir duas listas em Java, que você pode ampliar ainda mais para fundir ou impor qualquer número de listas. Array-List ou Linked-List baseada em Java.
Uma maneira de combinar muitas coleções é utilizar a função java.util collection
da classe addAll()
, que ajuda você a adicionar material de uma lista a outra. Você pode atribuir conteúdo a quantas listas quiser utilizando a função addAll()
, e é a maneira mais fácil de fundir muitas listas.
Além disso, alguns outros métodos também são explicados para melhor compreensão.
- Utilização da função
Stream
. - Utilização de
Construtor Parametrizado
. - Utilização de Pré-declarada
Lista
eaddAll()
Utilize o Stream
para Juntar-se a Duas Listas em Java
Streams
em Java versão 8 nos permitem ter apenas uma solução de uma linha para a maior parte dos problemas e, ao mesmo tempo, o código parece limpo. Um arranjo de itens que sustentam diferentes estratégias que podem ser encanadas para criar o resultado ideal stream
. Na solução mencionada abaixo, lst.stream()
converte a lista em Stream
tipo de dados e depois Stream.concat(Strem1,Stream2)
concatena dois objetos diferentes Stream
e depois Stream.collect(collectors.toList)
converte o objeto Stream
no objeto de lista.
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Abc {
public static void main(String[] args) {
List<String> list1, list2;
list1 = new ArrayList<String>();
list2 = new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for (int i = 0; i < list1.size(); i++) {
System.out.print(list1.get(i) + " ");
}
System.out.println();
for (int i = 0; i < list2.size(); i++) {
System.out.print(list2.get(i) + " ");
}
System.out.println();
// first Solution
List<String> resultList1 =
Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toList());
// first Solution Prints
System.out.println("first Solution Prints");
for (int i = 0; i < resultList1.size(); i++) {
System.out.print(resultList1.get(i) + " ");
}
System.out.println();
}
}
Utilize parametrizar construtor
para juntar duas listas em Java
List<String> newList = new ArrayList<String>(listOne);
irá criar uma lista chamando o construtor de parâmetros que copia a lista dada para o novo objeto de lista e então newList.addAll(listTwo);
anexa uma lista (list2
) à lista recém declarada.
import java.util.ArrayList;
import java.util.List;
public class Abc {
public static void main(String[] args) {
List<String> list1, list2;
list1 = new ArrayList<String>();
list2 = new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for (int i = 0; i < list1.size(); i++) {
System.out.print(list1.get(i) + " ");
}
System.out.println();
for (int i = 0; i < list2.size(); i++) {
System.out.print(list2.get(i) + " ");
}
System.out.println();
// Second Solution
List<String> resultList2 = new ArrayList<String>(list1);
resultList2.addAll(list2);
// Second Solution Prints
System.out.println("Second Solution Prints");
for (int i = 0; i < resultList2.size(); i++) {
System.out.print(resultList2.get(i) + " ");
}
System.out.println();
}
}
Utilize predeclared new array
para juntar duas listas em Java
Quando a resultList3
é predefinida ou pode ser feita assim List<String> resultList3;
após declarar n lista de resultados, então newList = new ArrayList<String>(list1)
inicializará um novo array, copiando elementos da list1
para dentro dela. (list).addAll(list2);
anexa os elementos da list2
à list1
.
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Abc {
public static void main(String[] args) {
List<String> list1, list2;
list1 = new ArrayList<String>();
list2 = new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for (int i = 0; i < list1.size(); i++) {
System.out.print(list1.get(i) + " ");
}
System.out.println();
for (int i = 0; i < list2.size(); i++) {
System.out.print(list2.get(i) + " ");
}
System.out.println();
// third Solution
List<String> resultList3;
(resultList3 = new ArrayList<String>(list1)).addAll(list2);
// Third Solution Prints
System.out.println("Third Solution Prints");
for (int i = 0; i < resultList3.size(); i++) {
System.out.print(resultList3.get(i) + " ");
}
System.out.println();
}
}