Wie kann man zwei Arrays miteinander verbinden?

Das Verbinden von Arrays gestaltet sich in Java recht einfach mit Hilfe der Methode arraycopy der Klasse System.

Zur Demonstration sind im Beispiel zwei zweidimensionale String-Arrays deklariert. (Das Verketten eindimensionaler Arrays geschieht natürlich auf die gleiche Weise.) Zunächst wird ein neues Array des gleichen Typs erstellt, das die Größe der Summe der zu verkettenden Arrays besitzt. Es wird als Kopie eines der beiden Ausgangsarrays initialisiert. Dieses Array belegt die Positionen am Anfang des neuen Arrays. Die verbleibenden Positionen am Ende des neuen Arrays werden mit null belegt.

import java.util.Arrays;
import javax.swing.SwingUtilities;

public class ArraysVerbinden {

    void create() {
        String[][] arr1 = { new String[] { "00", "01", "02" },
                new String[] { "10", "11", "12" },
                new String[] { "20", "21", "22" } };
        String[][] arr2 = { new String[] { "aa", "ab", "ac" },
                new String[] { "ba", "bb", "bc" },
                new String[] { "ca", "cb", "cc" } };

        int newLength = arr1.length + arr2.length;
        String[][] s = new String[newLength][3];
        s = Arrays.copyOf(arr1, newLength);
        System.arraycopy(arr2, 0, s, arr1.length, arr2.length);

        for (int i = 0; i < s.length; i++) {
            for (int j = 0; j < s[i].length; j++) {
                System.out.println(s[i][j]);
            }
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new ArraysVerbinden().create());
    }
}

Die Methode System.arraycopy führt die eigentliche Verknüpfung durch. Sie nimmt fünf Parameter entgegen.

Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.