Eliminar elementos repetidos de un ArrayList

18/Oct/2021 Java , Deja un comentario
Programación en Java

Dentro de los diferentes ejemplos que tenemos de manejo de ArrayList, hoy vamos a ver, cómo podemos eliminar elementos repetidos de un ArrayList con Java. Es decir, cómo hacer que todas las ocurrencias de un elemento que existan en el ArrayList sean eliminadas.

Aunque podríamos utilizar el método .remove() e ir buscando todas las ocurrencias que haya de un elemento e irlo eliminando uno a uno, veremos una forma más sencilla y con muchas menos líneas de código para poder realizarlo. Pero vamos paso a paso para ver cómo lo vamos a resolver.

Lo primero será crear el ArrayList que contenga todos los elementos base. En este caso vamos a crear un ArrayList de tipo String, pero podríamos crear un ArrayList del tipo que queramos.

// ArrayList con tamaño
ArrayList<String> al = new ArrayList<String>();
    
// Añadir elementos a un ArrayList
al.add("1");
al.add("2");
al.add("3");
al.add("1");
al.add("4");
al.add("5");
al.add("1");
al.add("6");
al.add("7");

Ahora vamos a necesitar un segundo ArrayList con los elementos que queramos eliminar del primero, ya sea 1 elemento o N elementos.  El proceso para crearlo será exactamente igual que lo hemos hecho con el primer ArrayList.

ArrayList<String> eliminar = new ArrayList<String>();
eliminar.add("1");

En nuestro caso solo vamos a añadir un elemento, ya que solo queremos quitar el valor «1» de la lista original. Si queremos que el borrado sea de más elementos, simplemente bastará con añadirlos.

Ahora recurrimos al método .removeAll() que nos permite eliminar todas las ocurrencias que existan en el ArrayList de una lista de elementos especificados como parámetro. Es por ello que invocaremos al método .removeAll() de la siguiente forma:

al.removeAll(eliminar);

Solo nos quedará comprobar que en la lista original ya no aparecen elementos con el valor «1». Para ello podemos, simplemente, recorrer el ArrayList mediante un Iterator.

Iterator<String> it = al.iterator();
while(it.hasNext())
  System.out.println(it.next());

Con esto ya habremos conseguido eliminar elementos repetidos de un ArrayList con Java. Es algo sencillo de realizar y que nos va a evitar crear mucho código para eliminar elementos.

 

Vídeos sobre Java


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.