Cet article donnera deux méthodes pour supprimer les éléments répétitifs de ArrayList, qui utilise HashSet et LinkedHashSet.
ArrayList est l'un des types de collection les plus couramment utilisés en Java. Il permet d'ajouter de manière flexible plusieurs éléments nuls, des éléments répétés et de maintenir l'ordre de l'insertion des éléments. Lors du codage, nous rencontrons souvent les exigences qui doivent supprimer des éléments de répétition de la liste Array Built -Up.
Méthode 1: Utilisez HashSet pour supprimer des éléments répétés dans ArrayList
Dans cette méthode, nous utilisons HashSet pour supprimer des éléments répétés. Comme vous le savez, Hashset n'autorise pas les éléments répétés. Nous utilisons cet attribut de HashSet pour supprimer les éléments en double dans la liste Array Built -in. Cependant, cette méthode a un inconvénient. Autrement dit, il supprimera l'ordre d'insertion des éléments dans ArrayList. Cela signifie qu'après supprimer des éléments répétés, l'ordre de l'élément n'est pas correct. Regardons l'exemple suivant.
Importer java.util.arraylist; Add (Java "); / Impression listWithDupLeateals System.print ("ArrayList avec des éléments en double:"); String> ts = new ArrayList <string> (set);Sortir:
ArrayList avec des éléments en double: [Java, J2EE, JSP, Servlets, Java, Struts, JSP] ArrayList après le rétablissement des éléments en double: [Java, JSP, J2EE, Str Uts]
Faites attention aux résultats de la production. Vous constaterez qu'après supprimer des éléments en double, l'élément est remanié. Plus organisé dans l'ordre d'insertion. Si vous souhaitez conserver l'ordre des éléments après la suppression des éléments répétés, il n'est pas recommandé d'utiliser cette méthode. Il existe une autre méthode qui peut garantir que l'ordre d'insertion de l'élément ne change pas après la suppression des éléments répétés. C'est-à-dire utiliser LinkedHashSet.
Méthode 2: Utilisez LinkedHashSet pour supprimer les éléments répétés dans ArrayList
Dans cette méthode, nous utilisons LinkedHashSet pour supprimer des éléments répétés dans ArrayList. Comme vous le savez, LinkedHashSet ne permet pas d'éléments répétitifs, tout en maintenant l'ordre de l'insertion des éléments. Ces deux attributs de LinkedHashset peuvent garantir qu'après la suppression des éléments répétitifs dans ArrayList, l'ordre des éléments d'insertion est toujours maintenu. Voir l'exemple suivant.
Importer java.util.arraylist; )); ("ArrayList avec des éléments en double:"); ; Impression de la liste avec System.out.print (ArrayList après supprimer les éléments en double: ");Sortir:
ArrayList avec des éléments en double: [Java, J2EE, JSP, Servlets, Java, Struts, JSP] ArrayList après le rétablissement des éléments en double: [Java, JSPE, Service UTS]
Faites attention à la production. Vous pouvez constater qu'après avoir supprimé les éléments répétitifs dans ArrayList, l'ordre d'insertion est toujours maintenu.
Ce qui précède est tout le contenu de cet article.