Wie man zwei ArrayLists verbindet

JavaBeginner
Jetzt üben

Einführung

In Java ist ArrayList eine Implementierungs-Klasse der List-Schnittstelle im Sammlungframework und wird verwendet, um Daten zu speichern. Zwei ArrayList-Objekte zusammenzufügen, ist eigentlich ein Prozess, bei dem die Elemente zweier ArrayList-Objekte zu einer einzigen ArrayList kombiniert werden. Dies kann nützlich sein, wenn wir mehrere Datensätze haben und diese in einen einzigen Satz zusammenfassen möchten.

Erstellen von ArrayLists

Zunächst erstellen wir zwei ArrayLists, die wir zusammenfügen möchten. Hier ist ein Beispiel, in dem wir zwei ArrayLists von ganzen Zahlen erstellen:

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);
    }
}

Um diesen Code auszuführen, geben Sie im Terminal den folgenden Befehl ein:

javac Main.java && java Main

Dies wird das folgende ausgeben:

[1030, 1020, 1010, 1040]
[1050, 1060, 1070]

Verbindung von ArrayLists mit addAll()

Um zwei ArrayLists mit der addAll()-Methode zu verbinden, folgen Sie dem unten stehenden Code:

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);

  // Verbinden zweier ArrayList
  arrList1.addAll(arrList2);
  System.out.println("Nach dem Verbinden:");
  System.out.println(arrList1);
    }
}

Um diesen Code auszuführen, geben Sie im Terminal den folgenden Befehl ein:

javac Main.java && java Main

Dies wird das folgende ausgeben:

[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
Nach dem Verbinden:
[1030, 1020, 1010, 1040, 1050, 1060, 1070]

Verbindung von ArrayLists mit flatMap()

Wir können auch zwei ArrayLists verbinden, indem wir die flatMap()-Methode und die distinct()-Methode verwenden, wie im folgenden Code gezeigt:

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);

  // Verbinden zweier ArrayList
  List<Integer> arrList3 = Stream.of(arrList1, arrList2)
         .flatMap(Collection::stream)
         .distinct()
         .collect(Collectors.toList());
  System.out.println("Nach dem Verbinden:");
  System.out.println(arrList3);
 }
}

Um diesen Code auszuführen, geben Sie im Terminal den folgenden Befehl ein:

javac Main.java && java Main

Dies wird das folgende ausgeben:

[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
Nach dem Verbinden:
[1030, 1020, 1010, 1040, 1050, 1070]

Vollständiger Code

Hier ist der vollständige Code, um zwei ArrayLists in Java zu verbinden:

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);

  // Verbinden zweier ArrayList
  List<Integer> arrList3 = Stream.of(arrList1, arrList2)
         .flatMap(Collection::stream)
         .distinct()
         .collect(Collectors.toList());
  System.out.println("Nach dem Verbinden:");
  System.out.println(arrList3);
 }
}

Ausführen des Codes

Um den Code auszuführen, geben Sie im Terminal den folgenden Befehl ein:

javac Main.java && java Main

Dies wird das folgende ausgeben:

[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
Nach dem Verbinden:
[1030, 1020, 1010, 1040, 1050, 1070]

Zusammenfassung

In diesem Lab haben wir Ihnen gezeigt, wie man in Java zwei ArrayLists mit der addAll()-Methode von List und der flatMap()-Methode der Stream-API verbindet. Wir haben Ihnen auch ein Beispiel für das Verbinden von einzigartigen Elementen aus zwei verschiedenen ArrayLists gezeigt. Wir hoffen, dass Ihnen dieses Lab geholfen hat!