TreeSet
place un élément dans ordre naturel ou par le comparateur fourni.SortedSet
est également conserve l'élément dans ordre naturelMais quelle est la différence entre eux et NavigableSet?
Où NavigableSets
est-il utile?
Un exemple pour montrer son utilisation serait bien pour les débutants.
SortedSet est une interface (il définit la fonctionnalité) et Treeset est une implémentation. NavigableSet est également un sous-type d'interface de SortedSet.
Vous ne pouvez pas simplement écrire SortedSet<Integer> example = new SortedSet<Integer>();
Vous pouvez cependant écrire SortedSet<Integer> example = new TreeSet<Integer>();
Comme son nom l'indique, les NavigableSets sont plus utiles pour naviguer dans l'ensemble.
http://mrbool.com/overview-on-navigableset-subtype-of-Java-collections/25417 offre un bon didacticiel sur NavigableSets et certaines des méthodes disponibles lors de l'utilisation d'un, qui ne sont pas disponible dans un SortedSet.
J'espère que vous trouverez utile l'extrait suivant de Java docs (voir le lien pour plus de détails):
Méthodes inférieur , étage , plafond et supérieur éléments de retour respectivement inférieurs, inférieurs ou égaux, supérieurs ou égaux et supérieurs à un élément donné.
Je pense que this
est une référence bien démontrée avec une explication décente.
TreeSet implémente NavigableSet, et (interface) NavigableSet étend SortedSet
NavigableSet ajoute des méthodes de navigation comme descendingIterator () et descendingSet (), plafond (), floor (), supérieur (), inférieur (), headSet (), tailSet (), subSet (), pollFirst () et pollLast ().