Array in Java kopieren
-
Kopieren eines Arrays in ein anderes mit
Arrays.copyOf()
in Java -
Kopieren eines Arrays in ein anderes mit
System.arraycopy()
in Java -
Kopieren eines zweidimensionalen Arrays in ein anderes mit
clone()
in Java
In diesem Tutorial werden verschiedene Methoden vorgestellt, um in Java ein Array in ein anderes Array zu kopieren. Wir können den manuellen Ansatz mit Schleifen verwenden, um dies zu erreichen, aber wir möchten diese Methode der Einfachheit halber nicht verwenden, und wir wollen das Rad nicht neu erfinden.
Kopieren eines Arrays in ein anderes mit Arrays.copyOf()
in Java
Wir können die Methode copyOf()
der Klasse Arrays
verwenden, die das angegebene Array in ein neues Array kopiert. Die Methode copyOf()
nimmt zwei Argumente entgegen; das erste ist das zu kopierende Array, das zweite die Länge des neuen Arrays.
Im folgenden Beispiel kopieren wir array1
nach array2
. Die Länge des neuen Arrays ist gleich der Länge von array1
. Wenn das neue Array eine größere Größe als das alte Array hat, dann wird jeder leere Index mit einer Null aufgefüllt. Wir haben eine Schleife verwendet, um die Elemente des neuen Arrays und ihre Indizes auszugeben.
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args) {
int[] array1 = new int[] {2, 4, 6, 8, 10};
int[] array2 = Arrays.copyOf(array1, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
Ausgabe:
array2 position 0: 2
array2 position 1: 4
array2 position 2: 6
array2 position 3: 8
array2 position 4: 10
Kopieren eines Arrays in ein anderes mit System.arraycopy()
in Java
System.arraycopy()
kann nützlich sein, wenn wir ein neues Array mit den Unterelementen des alten Arrays erstellen wollen, da es die Array-Elemente von einer bestimmten Position des alten Arrays an die Position des neuen Arrays kopiert.
System.arraycopy()
benötigt mindestens vier Argumente, nämlich das zu kopierende Array array1
, die Startposition von array1
, das neue Array array2
, die Startposition von array2
und die Anzahl der Elemente, die nach array2
kopiert werden sollen. Die Ausgabe zeigt die Elemente in array2
.
public class CopyArray {
public static void main(String[] args) {
String[] array1 = new String[] {"Adam", "Claire", "Dave", "Greg", "Halsey", "Jane", "Kylie"};
String[] array2 = new String[array1.length];
System.arraycopy(array1, 0, array2, 0, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
Ausgabe:
array2 position 0: Adam
array2 position 1: Claire
array2 position 2: Dave
array2 position 3: Greg
array2 position 4: Halsey
array2 position 5: Jane
array2 position 6: Kylie
Kopieren eines zweidimensionalen Arrays in ein anderes mit clone()
in Java
Die letzte Methode zum Kopieren eines Arrays in Java ist clone()
, die ein neues Array mit den kopierten Array-Elementen zurückgibt. In diesem Beispiel verwenden wir ein zweidimensionales Array array1
, das acht Elemente hat. Wir verwenden array1.clone()
, um das Array zu kopieren und zwei Schleifen, um die Elemente des neuen Arrays array2
auszugeben.
public class CopyArray {
public static void main(String[] args) {
int[][] array1 = {{10, 20}, {30, 40}, {50, 60}, {70, 80}};
int[][] array2 = array1.clone();
for (int i = 0; i < array2.length; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.println("array2 position [" + i + "][" + j + "] : " + array2[i][j]);
}
}
}
}
Ausgabe:
array2 position [0][0] : 10
array2 position [0][1] : 20
array2 position [1][0] : 30
array2 position [1][1] : 40
array2 position [2][0] : 50
array2 position [2][1] : 60
array2 position [3][0] : 70
array2 position [3][1] : 80
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn