Maison  >  Article  >  Java  >  Comment créer une copie complète d'un tableau bidimensionnel en Java ?

Comment créer une copie complète d'un tableau bidimensionnel en Java ?

DDD
DDDoriginal
2024-11-01 06:18:02360parcourir

How to Create a Deep Copy of a Two-Dimensional Array in Java?

Copier des tableaux bidimensionnels en Java

Copier des tableaux multidimensionnels en Java peut être délicat, car l'attribution d'un tableau à un autre crée simplement une référence aux données originales plutôt qu’à une copie fidèle. Pour créer un véritable doublon, vous devez allouer une nouvelle mémoire et copier les éléments individuellement.

Dans votre cas, vous disposez de deux méthodes, old() et keepold(), pour copier le tableau actuel dans old et vice-versa. versa. Cependant, lorsque vous mettez à jour l'actuel, les modifications sont également reflétées dans l'ancien car elles font toutes deux référence aux mêmes données sous-jacentes.

Pour créer une copie fidèle, vous pouvez suivre les étapes suivantes :

  1. Créer un nouveau tableau : Allouez un nouveau tableau bidimensionnel avec les mêmes dimensions que l'original.
  2. Copiez les éléments : Parcourez le tableau d'origine et attribuez chaque élément à la position correspondante dans le nouveau tableau.

En utilisant l'API streams (Java 8), vous pouvez simplifier ce processus :

<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>

Cette ligne utilise la map() méthode pour créer un nouveau tableau pour chaque ligne, puis la méthode clone() pour copier chaque ligne, et enfin la méthode toArray() pour créer un nouveau tableau bidimensionnel à partir des lignes clonées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn