java

Java – Clonar arreglo

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í:

See the gist on github.

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
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/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

2 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

2 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

2 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

2 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

6 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

7 días hace

Esta web usa cookies.