Wie man zwei Listen in Java beitritt
-
Verwenden Sie
Stream
, um zwei Listen in Java zu verbinden -
Verwenden Sie den
Parametrisieren-Konstruktor
, um zwei Listen in Java zu verbinden -
Verwenden Sie
vordeklariertes new Array
, um zwei Listen in Java zu verbinden
Oft müssen wir, bevor wir eine Prozedur durchführen, mehrere Listen zu einer zusammenfügen. Es gibt eine ganze Reihe verschiedener Möglichkeiten, zwei Listen zusammenzuführen oder sie zu größeren Listen zu kombinieren. In diesem Artikel werden wir uns zwei schnelle Methoden zum Zusammenführen von zwei Listen in Java ansehen, die Sie weiter ausbauen können, um eine beliebige Anzahl von Listen zusammenzuführen oder zu erzwingen. Array-Liste oder Java-basierte Linked-Liste.
Eine Möglichkeit, viele Sammlungen zu kombinieren, ist die Verwendung der Funktion addAll()
der Klasse java.util collection
, die Ihnen hilft, Material von einer Liste zu einer anderen hinzuzufügen. Sie können Inhalte so vielen Listen zuweisen, wie Sie wollen, indem Sie die Funktion addAll()
verwenden, und es ist der einfachste Weg, viele Listen zusammenzuführen.
Zum besseren Verständnis werden auch einige andere Methoden erklärt.
- Verwendung von
Stream
- Verwendung des
Parametrisierten Konstruktors
- Verwendung von
Predeclared List
undaddAll()
Verwenden Sie Stream
, um zwei Listen in Java zu verbinden
Streams in Java Version 8 ermöglichen es uns, für den Großteil der Probleme nur eine einzeilige Lösung zu haben, und gleichzeitig sieht der Code sauber aus. Eine Anordnung von Elementen, die verschiedene Strategien untermauern, die in einer Pipeline zusammengefasst werden können, um den idealen Stream
zu erzeugen. Bei der unten erwähnten Lösung konvertiert lst.stream()
die Liste in den Datentyp Stream
, dann verkettet Stream.concat(Strem1,Stream2)
zwei verschiedene Stream
-Objekte, dann konvertiert Stream.collect(collectors.toList)
das Stream
-Objekt in das Listenobjekt.
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();
}
}
Verwenden Sie den Parametrisieren-Konstruktor
, um zwei Listen in Java zu verbinden
List<String> newList = new ArrayList<String>(listOne);
erzeugt eine Liste durch Aufruf des Parameterize-Konstruktors, der die gegebene Liste in das neue Listobjekt kopiert und dann newList.addAll(listTwo);
hängt eine Liste (list2
) an die neu deklarierte Liste an.
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();
}
}
Verwenden Sie vordeklariertes new Array
, um zwei Listen in Java zu verbinden
Wenn die resultList3
vordefiniert ist, oder es kann wie folgt gemacht werden: List<String> resultList3;
nach der Deklaration von n Ergebnislisten, dann wird newList = new ArrayList<String>(list1)
ein neues Array initialisieren, indem Elemente von list1
in dieses Array eingefügt werden. (list).addAll(list2);
hängt die Elemente von list2
an list1
an.
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();
}
}