Si vous souhaitez que les éléments de la collection soient répétés, il est recommandé d'utiliser HashSet, comme suit:
// Liste est une liste Array avec des éléments répétés. HashSet hset = new HashSet (list); list.clear (); list.addall (hSet);
Mais parfois, nous voulons supprimer un élément avec une valeur d'attribut en double (la même valeur), comme suit:
Network NN1 = nouveau réseau (); nw1.id = 1; nw1.destip = "192.168.1.3"; réseau NW2 = new Network (); NW2.ID = 2; NW2.Destip = "192.168.1.5"; Network NW3 = new Network (); NW3.id = 3; NW3.Siptip = "192.16.1.3"; Réseau (); nw4.id = 4; nw4.destip = "192.168.1.4"; réseau nw5 = nouveau réseau (); nw5.id = 5; nw5.destip = "192.168.1.3"; mlist.add (nw1); mlist.add (nw2); mlist.add (nw3); mlist.add (nw4); mlist.add (nw5);
De toute évidence, les valeurs IP dans NW1, NW3 et NW5 sont les mêmes. Nous n'en avons besoin qu'un, alors comment pouvons-nous parcourir et supprimer les valeurs d'élément de la nôtre en utilisant ArrayList?
pour (int i = 0; i <mList.size () - 1; i ++) {for (int j = mlist.size () - 1; j> i; j--) {if (mlist.get (j) .destip.equals (mlist.get (i) .destip)) {mlist.remove (j);}}}Les deux pour les boucles suffisent. N'oubliez pas de les comparer un par un de la queue. De cette façon, une fois qu'un certain symbole d'élément nécessite de supprimer, il est nécessaire de s'assurer que celui au-dessus de la queue est supprimé et que la boucle ne sera pas confuse.
Ce qui précède est le contenu complet de la méthode ArrayList (recommandée) que l'éditeur vous apporte. J'espère que cela vous sera utile et soutenir Wulin.com plus ~