Unisciti a due liste in Java
-
Usa
Stream
per unire due liste in Java -
Usa
parametrizza costruttore
per unire due liste in Java -
Usa
nuovo array predichiarato
per unire due liste in Java
Spesso, prima di intraprendere qualsiasi procedura, dobbiamo combinare più liste in uno. Esistono diversi modi per unire due liste o combinarli in liste più grandi. In questo articolo esamineremo due modi rapidi per unire due liste in Java, che puoi estendere ulteriormente per unire o applicare un numero qualsiasi di liste. Elenco di array o lista collegato basato su Java.
Un modo per combinare molte collezioni è usare la funzione addAll()
della classe java.util collection
, che ti aiuta ad aggiungere materiale da una lista all’altra. Puoi assegnare i contenuti a tutte le liste che vuoi usando la funzione addAll()
, ed è il modo più semplice per unire molte liste.
Inoltre, vengono spiegati anche altri metodi per una migliore comprensione.
- Uso di
Stream
- Uso del
Costruttore parametrizzato
- Uso di
Elenco predichiarato
eaddAll()
Usa Stream
per unire due liste in Java
Gli stream in Java versione 8 ci consentono di avere solo una soluzione a una linea per la maggior parte dei problemi e, allo stesso tempo, il codice sembra pulito. Una disposizione di elementi che sono alla base di diverse strategie che possono essere pipeline per creare il Stream
di risultati ideali. Nella soluzione menzionata sotto, lst.stream()
converte l’lista nel tipo di dati Stream
quindi Stream.concat(Strem1,Stream2)
concatena due diversi oggetti Stream
quindi Stream.collect(collectors.toList)
converte l’oggetto Stream
nell’oggetto 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();
}
}
Usa parametrizza costruttore
per unire due liste in Java
List<String> newList = new ArrayList<String>(listOne);
creerà una lista chiamando il costruttore di parametrizzazione che copia la lista data nel nuovo oggetto lista quindi newList.addAll(listTwo);
accoda una lista (list2
) nella lista appena dichiarata.
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();
}
}
Usa nuovo array predichiarato
per unire due liste in Java
Quando il resultList3
è predefinito o può essere fatto in questo modo List<String> resultList3;
dopo aver dichiarato n lista di risultati allora newList = new ArrayList<String>(list1)
inizializzerà il nuovo array copiando gli elementi di list1
in esso. (list).addAll(list2);
aggiunge gli elementi di 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();
}
}