- Fes servir
Stream
per unir dues llistes en Java - Utilitza el constructor de paràmetres per unir dues llistes en Java
- Fes servir
new array
predeclarado per unir dues llistes en Java
sovint, abans de emprendre qualsevol procediment, hem de combinar diverses llistes en una sola. Hi ha força maneres diferents de fusionar dues llistes o combinar-les en llistes més grans. En aquest article veurem dues formes ràpides de fusionar dues llistes en Java, que es poden ampliar per fusionar o reforçar qualsevol nombre de llistes. Array-List o Linked-List basada en Java.
Una manera de combinar moltes col·leccions és utilitzar la funció adddAll()
de la classe java.util collection
, que t’ajuda a afegir material d’una llista a una altra. Pots assignar continguts a tantes llistes com vulguis usant la funció addAll()
, i és la forma més fàcil de combinar moltes llistes.
També s’expliquen alguns altres mètodes per a una millor comprensió.
- ús de
Stream
- L’ús de
Constructor Parametrizado
- l’ús de la
Predeclared List
iaddAll()
Utilitza Stream per unir dues llistes en Java
els fluxos en la versió 8 de Java ens permeten tenir una solució d’una sola línia per a la major part dels problemes, i a el mateix temps, el codi es veu net. un array d’elements que apuntalen diferents estratègies que poden ser canalitzades per crear el resultat ideal stream
. En la solució esmentada a baix, lst.stream()
converteix la llista en el tipus de dades Stream
, després Stream.concat(Strem1,Stream2)
concatena dos objectes Stream
diferents i després Stream.collect(collectors.toList)
converteix l’objecte Stream
en l’objecte de la llista.
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(); }}
Utilitza el constructor de paràmetres per unir dues llistes en Java
List<String> newList = new ArrayList<String>(listOne);
crearà una llista cridant a el constructor de paràmetres que copia la llista donada en el nou objecte de la llista després newList.addAll(listTwo);
afegeix una llista (list2
) a la llista recentment 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(); }}
Utilitza new array predeclarado per unir dues llistes en Java
Quan la resultList3
està predefinida o es pot fer així: List<String> resultList3;
després de declarar n llista de resultats, newList = new ArrayList<String>(list1)
inicialitzarà el nou acord amb el inc luir elements de la list1
en ell. (list).addAll(list2);
afegeix els elements de list2
a 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(); }}