Sortable Java collection sans doublons
Je suis à la recherche d'sortable (je veux dire le tri après l'initialisation et à de nombreuses reprises à l'aide du Comparateur) de la classe Java collection sans doublons. Est-il plus pur solution que d'écrire du code qui sera opaque et d'empêcher par exemple certains ArrayList pour l'ajout d'un autre objet avec la même valeur que celle qui existe déjà?
Edit 1:
Je dois ajouter quelques explications sur le tri. J'ai besoin de trier cet ensemble de valeurs plusieurs fois avec différents comparateurs (diversité des mises en œuvre).
OriginalL'auteur user1964668 | 2013-02-15
Vous devez vous connecter pour publier un commentaire.
Utiliser un Ensemble! Le commun des implémentations sont HashSet et TreeSet. Ce dernier conserve l'ordre des éléments dans la mise en œuvre SortedSet.
Vous pouvez également utiliser SortedMap 😉
est un SortedMap un ensemble?
Un SortedMap est l'interface. TreeMap est la mise en œuvre et c'est une Carte, pas un Ensemble (elle dispose de touches).
Le LinkedHashSet est souvent considérée comme la meilleure par défaut de la mise en œuvre d'un Ensemble (voir Effective Java). docs.oracle.com/javase/6/docs/api/java/util/LinkedHashSet.html
OriginalL'auteur Aram Kocharyan
Vous pouvez Utiliser
TreeSet
. Il permettra de supprimer les doublons.TreeSet
implémenteSortedSet
Interface de sorte qu'il va trier les éléments inscritsSortie
Pour citer le javadoc "Cette application offre la garantie log(n) coût du temps pour les opérations de base (ajouter, supprimer et contient)." Ce n'est pas si mauvais que ça.
OriginalL'auteur Nidhish Krishnan
Utilisation Ensemble pour les éléments uniques.. Vous pouvez toujours utiliser Collections.sort() pour trier une collection que vous utilisez
sort(List<T> list, Comparator<? super T> c) sort(List<T> list)
OriginalL'auteur Ajo Koshy
C'est un ensemble.
utilisation:
OriginalL'auteur Woot4Moo
Il pourrait être préférable d'étendre un standard de collecte ou de mettre en œuvre un à partir de zéro. Par exemple:
Et puis vous avez
Collections.sort
comme indiqué précédemment. J'ai envie de tout revérifier si -- je peux juste imaginer la bibliothèque de méthodes de faire de fausses hypothèses sur la SetList car il s'étend ArrayList, conduisant à la catastrophe. Lire la javadoc de la liste de tableaux Liste, et la Collecte pour commencer, et vraiment envisager de faire un à partir de zéro.OriginalL'auteur GKFX