J'ai une liste d'éléments (i.e Strings) que j'ai besoin de trier/filtrer.Filtrer les éléments de Set in Java
Le résultat final devrait pas contenir aucun doublon (facile), je vais les mettre tous dans l'ensemble. Donc j'ai un ensemble de cordes maintenant.
explication plus ..
Je également un procédé qui permet de calculer x la quantité de différence entre deux cordes (en utilisant la distance de Levenstein).
Question:
Avant d'insérer une nouvelle chaîne string
dans mon Set set
je veux vérifier Levenstein la distance en utilisant la méthode x
entre string
et toute autre chaîne dans la set
et si x
retours >=3
que je devrais ne l'ajoute pas.
Quelle est ma meilleure chance de le faire? Sauf itération du creux set
pour chaque string
à insérer?
Créez votre propre méthode d'ajout local qui vérifie cela, puis l'ajoute à l'ensemble s'il a réussi le test. – jn1kk
Il est peu probable qu'il existe une solution qui le fait sans itération potentielle dans tout l'ensemble, puisque vous voulez essentiellement trouver la chaîne la plus éloignée de celle que vous insérez et tester cette distance. La chose réconfortante est que vous pouvez court-circuiter l'itération une fois que vous trouvez une grande distance. Une dernière chose à souligner est que le résultat dépend de l'ordre d'insertion: '345 34567 12345' rejettera' 12345', mais '345 12345 34567' rejettera' 34567' (c'est étrange que vous vouliez ça). – trutheality