2010-10-26 3 views

Répondre

2

Vous devez vérifier le JavaDoc des deux classes. Ils sont différents dans divers aspects.

À titre d'exemple, la commande:

Une implémentation NavigableSet basée sur un TreeMap. Les éléments sont classés en fonction de leur ordre naturel ou d'un comparateur fourni au moment de la création, en fonction du constructeur utilisé.

Cette classe implémente l'interface Set , soutenu par une table de hachage (en fait une instance de HashMap). Il ne donne aucune garantie quant à l'ordre d'itération de l'ensemble; en particulier, il ne garantit pas que l'ordre restera constant sur temps. Cette classe autorise l'élément null .

1

Jetez un oeil à la piste Java Tutoriels sur Set Implementations, dont je cite:

HashSet est beaucoup plus rapide que TreeSet (temps constant par rapport log-temps pour la plupart des opérations), mais n'offre aucune garantie de commande. Si vous avez besoin d'utiliser les opérations dans l'interface SortedSet, ou si l'itération est nécessaire, utilisez TreeSet; sinon, utilisez HashSet. Il est un pari juste que vous allez finir par utiliser HashSet la plupart de l'heure .

Questions connexes