Wie man zwei Listen in Java beitritt

Usama Imtiaz 12 Oktober 2023
  1. Verwenden Sie Stream, um zwei Listen in Java zu verbinden
  2. Verwenden Sie den Parametrisieren-Konstruktor, um zwei Listen in Java zu verbinden
  3. Verwenden Sie vordeklariertes new Array, um zwei Listen in Java zu verbinden
Wie man zwei Listen in Java beitritt

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 und addAll()

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

Verwandter Artikel - Java List