Java - Copie de tableaux

Table des matières
Une fois que vous maîtrisez les concepts de déployer et comment le remplir et comment en passer un, nous aurons aussi sûrement besoin de générer copies de tableaux, car nous devrons souvent traiter le contenu dudit tableau sans altérer un original que nous utiliserons à d'autres fins.
Bien que la copie puisse sembler une activité très simple, c'est vraiment un peu plus complexe que d'attribuer le valeur du tableau à une autre variable déclarée de ce type.
Copie de tableaux
Dans le cadre de la logique de nos programmes, nous aurons probablement besoin à un moment donné copier un tableau dans une variable différenteAfin de pouvoir travailler avec les éléments dans une autre instance du programme, comme nous l'avons mentionné au début, affecter la variable qui contient le tableau à une autre n'est pas la solution appropriée.
Supposons que nous effectuons l'affectation comme suit :
varArrar2 = varArray1;

Dans ce cas il n'y a pas d'erreur de syntaxe donc l'instruction fonctionne sans problème, même si on essaie de boucler varArray2 nous obtiendrons les valeurs que nous savons avoir dans varArray1, vous vous demandez où est le problème alors, le problème est que dans cette instruction ce que vous avez fait Java était de copier la référence au contenu du premier tableau, donc si nous modifions l'un des deux, ils verront tous les deux le changement.
Comme nous pouvons le voir, ce n'est pas une méthode très efficace à moins que nous ne voulions copier la référence efficacement.
Méthode correcte pour copier un tableauIl existe plusieurs façons d'effectuer le copie d'un tableau, en utilisant une boucle qui parcourt le premier tableau et en attribuant les valeurs au second, en utilisant le méthode de copie de tableau statique ce qui est contenu dans la classe Système et enfin en utilisant le méthode de clonageCependant, ce dernier est un peu plus avancé que ce que nous voyons ici.
Utiliser une boucle
C'est la méthode la plus simple de toutes, même si elle est un peu laborieuse, elle remplit correctement l'objectif et nous permet d'obtenir un nouveau tableau qui serait la copie de l'original et totalement indépendant de celui-ci, pour faire cette copie que nous allons faire procédez comme suit :
 int [] varArray1 = {2, 3, 1, 5, 10}; int [] varArray2 = new int [varArray1.length] ; for (int i = 0; i <varArray1.length; i ++) {varArray2 [i] = varArray1 [i]; } 

Comme nous le voyons, c'est quelque chose de très simple, nous avons notre premier tableau avec un certain nombre de valeurs déjà attribuées dans son contenu, nous créons un deuxième rangée et nous indiquons que sa dimension sera la longueur du tableau d'origine et enfin avec un pour boucle nous attribuons à notre nouveau tableau la valeur qui correspond à la position du cycle du premier tableau.
Utilisation de la méthode arraycopy
Une méthode plus simple qui utilise un peu moins de code est la méthode statique copie de tableau, cette méthode brise la convention de nommage de Java cependant cela fonctionne correctement, pour l'utiliser nous devons faire ce qui suit :
System.arraycopy (varArray1, varArray1_pos, varArray2, varArray2_pos, length);

Comme on peut le voir en une seule ligne on résout le problème, la méthode reçoit dans son premier argument le tableau que l'on va copier, puis elle reçoit la position initiale d'où on va copier, puis le tableau destination de la copie , sa position initiale et enfin la longueur de copie :

Enfin, nous avons vu que la copie d'un tableau, même si elle n'est pas aussi simple qu'une affectation de variables, est une tâche relativement aisée en utilisant les méthodes décrites dans ce tutoriel.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave