Voici ce que j'ai fait et ça fonctionne.
En supposant que j'ai un ArrayList
de collaborer avec la première chose que j'ai faite a été créé un nouveau LinkedHashMap
.
LinkedHashSet<E> hashSet = new LinkedHashSet<E>()
Ensuite, j'ai essayer d'ajouter mon nouvel élément à l' LinkedHashSet
. La méthode add ne modifie pas l' LinkedHasSet
et retourne false si l'élément nouveau est un doublon. Donc, cela devient une condition que je puisse le tester avant de l'ajouter à l' ArrayList
.
if (hashSet.add(E)) arrayList.add(E);
C'est une façon simple et élégante pour éviter les doublons d'être ajouté à la liste du réseau. Si vous le souhaitez, vous pouvez encapsuler et de remplacer ajouter une méthode dans une classe qui étend l' ArrayList
. N'oubliez pas de traiter avec addAll
par boucle à travers les éléments et l'appel de la méthode add.