Hoy te enseñaré cómo clonar o crear una copia de un arreglo en Java. Es decir, a partir de un arreglo, crear uno nuevo (eliminando la referencia al original) con los mismos elementos y misma longitud.

En Java, como bien sabemos, los arreglos se pasan por referencia cuando los enviamos como argumentos a otras funciones. De modo que si modificamos un arreglo dentro de una función, el cambio se reflejará en el método desde donde la llamamos.

Por ello es que en este post te mostraré la forma fácil de eliminar esa referencia y crear una copia del arreglo.

Copiar arreglo con arraycopy

Vamos al código. Para copiar un arreglo podemos invocar a System.arraycopy. Los argumentos en orden son:

  1. Arreglo origen
  2. Posición desde dónde comenzar a copiar en el arreglo origen
  3. Arreglo de destino (donde se va a crear la copia)
  4. Posición del segundo arreglo para indicar desde dónde comenzar a colocar los elementos del origen
  5. Cantidad de elementos a copiar

Entonces para crear una copia completa, sería:

System.arraycopy(arregloOrigen, 0, arregloDestino, 0, arregloOrigen.length);

De modo que empezamos desde 0 y copiamos la cantidad de elementos que haya en el original.

Ejemplo

Para terminar el post veamos un ejemplo. El código Java queda así:

Estoy declarando el arreglo en la línea 2, alojando espacio para la copia en la línea 4 y haciendo la copia en la línea 6.

Si te preguntas para qué sirve clonar un array en Java, te explico un pequeño ejemplo. Cuando se quiere ordenar un arreglo, éste se modifica internamente, así que si quieres mantener una copia del original debes crear un clon y después ordenar el clon.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,347 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: