Détails
Comment supprimer les éléments répétés de ArrayList ?
J'ai une ArrayList<String>
, et je veux en retirer les chaînes répétées. Comment puis-je faire cela ?
471
3
Si vous ne voulez pas de doublons dans une
Collection
, vous devriez vous demander pourquoi vous utilisez uneCollection
qui autorise les doublons. Le moyen le plus simple de supprimer les éléments répétés est d'ajouter le contenu à unSet
(qui n'autorisera pas les doublons), puis d'ajouter à nouveau leSet
à laArrayList
:Bien sûr, cela détruit l'ordre des éléments dans la
ArrayList
.Bien que la conversion de
ArrayList
enHashSet
supprime efficacement les doublons, si vous devez préserver l'ordre d'insertion, je vous suggère plutôt d'utiliser cette varianteEnsuite, si vous avez besoin de récupérer une référence
List
, vous pouvez utiliser à nouveau le constructeur de conversion.Si vous ne voulez pas de doublons, utilisez un [Set][1] au lieu d'une
List
. Pour convertir uneList
enSet
, vous pouvez utiliser le code suivant :Si cela est vraiment nécessaire, vous pouvez utiliser la même construction pour reconvertir un
Set
enList
.[1] : http://java.sun.com/javase/6/docs/api/java/util/Set.html