Este artículo dará dos métodos para eliminar elementos repetitivos de ArrayList, que utiliza Hashset y Linkedhashset.
ArrayList es uno de los tipos de colección más utilizados en Java. Permite agregar de manera flexible múltiples elementos nulos, elementos repetidos y mantener el orden de inserción de elementos. Al codificar, a menudo encontramos los requisitos que deben eliminar elementos repetidos de la lista de matrices construida.
Método 1: Use hashset para eliminar elementos repetidos en ArrayList
En este método, usamos hashset para eliminar elementos repetidos. Como saben, Hashset no permite elementos repetidos. Utilizamos este atributo de hashset para eliminar los elementos duplicados en la lista de matrices construida. Sin embargo, este método tiene una desventaja. Es decir, eliminará el orden de inserción de los elementos en ArrayList. Esto significa que después de eliminar elementos repetidos, el orden del elemento no es correcto. Veamos el siguiente ejemplo.
Import java.util.ArrayList; . / Impresión listwithduplicateElements.print ("ArrayList con elementos duplicados:"); String> ts = new ArrayList <String> (set);Producción:
ArrayList con elementos duplicados: [Java, J2EE, JSP, Servlets, Java, Struts, JSP] ArrayList después de reparar elementos duplicados: [Java, JSP, J2EE, STR UTS]
Presta atención a los resultados de la salida. Encontrará que después de eliminar elementos duplicados, el elemento se reorganiza. Ya no está dispuesto en el orden de inserción. Si desea mantener el orden de los elementos después de eliminar elementos repetidos, no se recomienda usar este método. Existe otro método que puede garantizar que el orden de inserción del elemento no cambie después de eliminar los elementos repetidos. Eso es usar Linkedhashset.
Método 2: Use LinkedHashset para eliminar los elementos repetidos en ArrayList
En este método, usamos LinkedHashset para eliminar elementos repetidos en ArrayList. Como saben, Linkedhashset no permite elementos repetitivos, al tiempo que mantiene el orden de la inserción de elementos. Estos dos atributos de Linkedhashset pueden garantizar que después de eliminar elementos repetitivos en ArrayList, el orden de los elementos de inserción aún se mantiene. Vea el siguiente ejemplo.
Import java.util.ArrayList; ); ("ArrayList con elementos duplicados:"); ) ; / / Lista de impresión Sin Duplicado System.out.print ("ArrayList después de eliminar los elementos duplicados:");Producción:
ArrayList con elementos duplicados: [Java, J2EE, JSP, Servlets, Java, Struts, JSP] ArrayList después de reparar elementos duplicados: [Java, JSPE, Service UTS]
Presta atención a la producción. Puede encontrar que después de eliminar los elementos repetitivos en ArrayList, todavía se mantiene el orden de inserción.
Lo anterior es todo el contenido de este artículo.