Dans la classe de l'arbre, je suppose de comparer deux nœuds, car vous savez rechercher et ajouter des éléments. J'ai quelques problèmes avec la façon de le rendre comparable. Quand on ajoute des données (génériques, n'importe quoi) à l'arbre, on appelle la classe Tree qui crée alors un nouvel objet Node. Comment puis-je déclarer la variable data/element dans la classe Node pour qu'elle soit de type E (n'importe quoi) et toujours comparable? Sérieusement, j'ai essayé d'avant en arrière sans conclure avec quoi que ce soit.Java Binary Tree, comment implémenter Node?
1
A
Répondre
3
Tout n'est pas Comparable
. Votre exigence est auto-contradictoire. Vous pouvez contraignez E
être comparable en déclarant le paramètre générique comme:
< E extends Comparable<E> >
De cette façon, le consommateur de la classe peut utiliser toutes les classes qui mettent en œuvre l'interface Comparable
avec elle. Vous pourrez accéder à la méthode compareTo
sur les éléments saisis E
.
Parfait! Je vous remercie! Non, tout n'est pas. Mais ce serait une exigence des éléments utilisés dans l'arbre. Mon implémentation d'arbre minuscule fonctionne maintenant et a du sens! Je vous remercie. – Algific