De retour d'un élément à partir d'un TreeSet à l'aide de la recherche binaire

Dans TreeSet il existe une méthode appelée contient que renvoie la valeur true si un élément est dans le jeu. Je suppose que cette méthode utilise les binaires de recherche et de ne pas parcourir tous les éléments dans l'ordre croissant. Suis-je le droit?

J'ai un TreeSet qui contient les objets d'une classe qui utilise la Chaîne de deux variables d'instance pour le distinguer des autres objets de la même classe. Je veux être en mesure de créer une méthode qui permet de rechercher le TreeSet en comparant les objets de deux variables d'instance (à l'aide de méthodes get, bien sûr) avec les deux autres variables de type String et s'ils sont égaux, le retour de l'élément. Si les variables d'instance sont à moins d'aller vers le premier élément dans le sous-arbre droit ou s'ils sont supérieurs de recherche dans le sous-arbre gauche etc. Est-il un moyen de faire cela?

Je sais que je pourrais juste stocker les objets dans une liste de tableaux et d'utiliser les binaires de recherche pour trouver l'objet, mais ce ne serait pas aussi rapide que la simple recherche de la TreeSet.

Comment savez-vous de la recherche binaire dans un ArrayList n'est pas aussi rapide? Avez-vous essayé?
Je veux dire en passant les éléments de la TreeSet à une nouvelle liste de tableaux à chaque fois que je dois rechercher un élément et le retour c'est lent.
ah, oui, qui aurait certainement être très lent. Mais si vous construisez d'abord la définir, puis de rechercher à plusieurs reprises, le tri et le binaire de la recherche d'un ArrayList pourrait être assez rapide.
Que faire si une variable d'instance est plus grande que son homologue et l'autre est moins que son homologue? Comment devrait-tri?
Manaster: Les Objets sont triés en premier lieu par l'une des Chaînes, puis l'autre. Tout comme une liste de noms d'abord triées sur le nom puis le prénom.

OriginalL'auteur exent | 2011-04-05