Wie man zwei Arrays in Java zusammenführt: 5 Methoden + Codebeispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arrays in Java „zusammenkleben“: 5 bewährte Methoden (mit Code)

Hallo, Kollege! Wenn du diesen Text liest, stehst du vor einer Aufgabe, die früher oder später jeden Java-Entwickler erwartet – wie man zwei Arrays in Java zusammenführt? Man sollte meinen, was könnte einfacher sein? Einfach zusammenzählen. Aber weit gefehlt. Java hat keinen nativen Operator für die Verkettung von Arrays (wie in Python oder JavaScript). Und hier beginnt das Interessante.

Auf Stack Overflow hat die Frage „How can I concatenate two arrays in Java?“ Hunderttausende von Aufrufen gesammelt. Das bedeutet, dass selbst erfahrene Leute manchmal bei der Wahl unsicher sind. In diesem Tutorial zeige ich dir 5 funktionierende Methoden – von der „altmodischen“ manuellen Kopie bis zur modernen Stream API. Du erfährst die Vor- und Nachteile jedes Ansatzes und kannst den auswählen, der am besten zu deiner Aufgabe passt.

Los geht‘s!



Warum gibt es in Java keine einfache Möglichkeit, Arrays zusammenzuführen?

Ein Array in Java ist ein Objekt mit fester Länge. Du kannst nicht einfach ein Array an das Ende eines anderen „anhängen“. Du musst ein neues Array erstellen und die Elemente hineinkopieren. Aber keine Sorge – ich zeige dir, wie das elegant und schmerzfrei geht.



Methode 1: Manuelles Kopieren (für diejenigen, die alles kontrollieren wollen)

Die offensichtlichste und anschaulichste Methode. Wir erstellen ein neues Array, dessen Länge der Summe der Längen der beiden ursprünglichen Arrays entspricht, und füllen es in einer Schleife.

public class ArrayConcatManual {    public static void main(String[] args) {        int[] array1 = {1, 2, 3};        int[] array2 = {4, 5, 6};

int[] result = new int[array1.length + array2.length];

// Erstes Array kopieren for (int i = 0; i < array1.length; i++) { result[i] = array1[i]; }

// Zweites Array kopieren for (int i = 0; i < array2.length; i++) { result[array1.length + i] = array2[i]; }

// Ergebnis ausgeben for (int num : result) { System.out.print(num + " "); } // Ausgabe: 1 2 3 4 5 6 }}

Vorteile: volle Kontrolle, keine externen Bibliotheken erforderlich, leicht lesbar.

Nachteile: umständlich, leicht bei den Indizes zu vertun (besonders bei mehr als zwei Arrays).

Tipp: Verwende diese Methode, wenn du verstehen willst, wie alles „unter der Haube“ funktioniert, oder wenn du Code für Lernzwecke schreibst.



Methode 2: System.arraycopy() – das Standardwerkzeug

Java hat eine eingebaute Methode System.arraycopy(). Sie arbeitet schneller als eine manuelle Schleife, da sie nativen Code (native method) verwendet. Dies ist die empfohlene Methode für die Produktion.

import java.util.Arrays;

public class ArrayConcatSystem { public static void main(String[] args) { String[] fruits1 = {"apple", "banana"}; String[] fruits2 = {"cherry", "date"};

String[] result = new String[fruits1.length + fruits2.length];

System.arraycopy(fruits1, 0, result, 0, fruits1.length); System.arraycopy(fruits2, 0, result, fruits1.length, fruits2.length);

System.out.println(Arrays.toString(result)); // Ausgabe: [apple, banana, cherry, date] }}

Wie es funktioniert:

  • Das erste Argument ist das Quell-Array.
  • Das zweite ist die Startposition im Quell-Array (normalerweise 0).
  • Das dritte ist das Ziel-Array.
  • Das vierte ist die Startposition im Ziel-Array.
  • Das fünfte ist die Anzahl der zu kopierenden Elemente.

Vorteile: schnell, kompakt, Standardbibliothek.

Nachteile: man muss auf die Indizes achten, kann eine ArrayIndexOutOfBoundsException auslösen.



Methode 3: ArrayList und Collections – Flexibilität und Komfort

Wenn du Arrays nicht nur zusammenführen, sondern später auch damit arbeiten musst (Elemente hinzufügen, entfernen

Blogs

Buchempfehlungen