Java-Programm zum Verketten von zwei Arrays

In diesem Programm lernen Sie, zwei Arrays in Java mithilfe von Arraycopy und ohne Arraycopy zu verketten.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java-Arrays
  • Java für jede Schleife

Beispiel 1: Verketten Sie zwei Arrays mit Arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int aLen = array1.length; int bLen = array2.length; int() result = new int(aLen + bLen); System.arraycopy(array1, 0, result, 0, aLen); System.arraycopy(array2, 0, result, aLen, bLen); System.out.println(Arrays.toString(result)); ) )

Ausgabe

 (1, 2, 3, 4, 5, 6)

Im obigen Programm haben wir zwei ganzzahlige Arrays Array1 und Array2.

Um zwei Arrays zu kombinieren (zu verketten), finden wir ihre Länge in aLen bzw. bLen gespeichert. Dann erstellen wir ein neues Integer-Array-Ergebnis mit der Länge aLen + bLen.

Um beide zu kombinieren, kopieren wir nun jedes Element in beide Arrays, um mithilfe der arraycopy()Funktion ein Ergebnis zu erzielen .

Die arraycopy(array1, 0, result, 0, aLen)Funktion weist das Programm in einfachen Worten an, Array1 beginnend mit dem Index 0zu kopieren, um das Ergebnis vom Index 0nach aLen zu erhalten.

Ebenso weist for arraycopy(array2, 0, result, aLen, bLen)das Programm an, Array2 von Index 0zu resultIndex aLen nach bLen zu kopieren.

Beispiel 2: Verketten Sie zwei Arrays ohne Arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int length = array1.length + array2.length; int() result = new int(length); int pos = 0; for (int element : array1) ( result(pos) = element; pos++; ) for (int element : array2) ( result(pos) = element; pos++; ) System.out.println(Arrays.toString(result)); ) )

Ausgabe

 (1, 2, 3, 4, 5, 6)

Im obigen Programm arraycopykopieren wir anstelle von manuell jedes Element der beiden Arrays array1 und array2, um das Ergebnis zu erhalten.

Wir speichern die für das Ergebnis erforderliche Gesamtlänge, dh array1.length + array2. length. Dann erstellen wir ein neues Array-Ergebnis der Länge.

Jetzt verwenden wir die for-each-Schleife, um jedes Element von array1 zu durchlaufen und im Ergebnis zu speichern. Nach dem Zuweisen erhöhen wir die Position pos um 1 , pos++.

Ebenso machen wir dasselbe für Array2 und speichern jedes Element im Ergebnis ab der Position nach Array1.

Interessante Beiträge...