Copier un tableau en Java
-
Copier un tableau vers un autre en utilisant
Arrays.copyOf()
en Java -
Copier un tableau dans un autre en utilisant
System.arraycopy()
en Java -
Copier un tableau à deux dimensions dans un autre en utilisant
clone()
en Java
Ce tutoriel présente plusieurs méthodes pour copier un tableau dans un autre tableau en Java. Nous pouvons utiliser l’approche manuelle avec des boucles pour y parvenir, mais nous aimerions ne pas utiliser cette méthode par souci de simplicité, et nous ne voulons pas réinventer la roue.
Copier un tableau vers un autre en utilisant Arrays.copyOf()
en Java
Nous pouvons utiliser la méthode copyOf()
de la classe Arrays
qui copie le tableau spécifié dans un nouveau tableau. La méthode copyOf()
prend deux arguments ; le premier est le tableau à copier, et le second est la longueur du nouveau tableau.
Nous copions array1
dans array2
dans l’exemple ci-dessous. La longueur du nouveau tableau est égale à celle du array1
. Si le nouveau tableau a une taille supérieure à l’ancien tableau, alors chaque indice vide sera rempli avec un zéro. Nous avons utilisé une boucle pour imprimer les éléments du nouveau tableau et leurs index.
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]);
}
}
}
Production :
array2 position 0: 2
array2 position 1: 4
array2 position 2: 6
array2 position 3: 8
array2 position 4: 10
Copier un tableau dans un autre en utilisant System.arraycopy()
en Java
System.arraycopy()
peut être utile lorsque nous voulons créer un nouveau tableau avec les sous-éléments de l’ancien tableau, car il copie les éléments du tableau d’une position spécifiée de l’ancien tableau à la position du nouveau tableau.
System.arraycopy()
prend au moins quatre arguments, qui sont, le tableau à copier array1
, la position de départ du array1
, le nouveau tableau array2
, la position de départ du array2
, et le nombre d’éléments à copier dans le array2
. La sortie montre les éléments dans le 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]);
}
}
}
Production :
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
Copier un tableau à deux dimensions dans un autre en utilisant clone()
en Java
La dernière méthode pour copier un tableau en Java est clone()
qui renvoie un nouveau tableau avec les éléments copiés. Dans cet exemple, nous utilisons un tableau bidimensionnel array1
qui comporte huit éléments. Nous utilisons array1.clone()
pour copier le tableau et deux boucles pour imprimer les éléments du nouveau tableau array2
.
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]);
}
}
}
}
Production :
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