Artículos
Java

Clonar un ArrayList

10/Oct/2021

Si estamos manejando un ArrayList y queremos manipular su contenido, mientras que por otro lado queremos mantener una copia de seguridad del mismo, nos vendrá muy bien el saber cómo clonar un ArrayList en Java.

Hay que recordar que la clase ArrayList representa una estructura de elementos en forma de array, los cuales, pueden ser redimensionados. Es decir, puede crecer o decrecer de cantidad de elementos a lo largo de la vida del programa.

Para definir un ArrayList de tipo String haremos lo siguiente:

ArrayList<String> list = new ArrayList<String>();

Si queremos que el ArrayList tenga contenido podemos ir añadiendo elementos mediante el método .add()

// Añadimos elementos
list.add("Marta");
list.add("Luis");
list.add("Francisco");

Una vez que tenemos este ArrayList inicial podemos clonarlo y crear un nuevo ArrayList que contenga los mismos elementos. Para poder clonar un ArrayList en Java deberemos de acudir al método .clone() el cual aplicaremos sobre el ArrayList original y nos devolverá un ArrayList nuevo. Veamos cómo sería el código:

ArrayList<String> list2 = (ArrayList<String>)list.clone();

Si recorremos este nuevo ArrayList podremos comprobar que el número de elementos es exactamente el mismo que el que tenía el ArrayList inicial. Podemos hacer esa comprobación de la siguiente manera:

// Obtenemos un Iterador y recorremos la lista.
iter = list2.iterator();
while (iter.hasNext())
  System.out.println(iter.next());

Ahora ya son dos ArrayList totalmente diferentes, es decir, cualquier alteración de contenido que hagamos en uno no se replica en otro. Puedes comprobarlo borrando un elemento del ArrayList inicial y volviendo a listar los elementos.

list.remove(0);

De esta forma tan sencilla hemos conseguido clonar un ArrayList en Java.

 

Código Fuente

Descárgate el código fuente de Clonar un ArrayList
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios