Page d'accueilFindIt !Contact Cahier Java

Cahier Java

 Forum Java

Ce forum est dédié à l'ouvrage Bien programmer en Java 7, ainsi qu'aux éditions précédentes des Cahiers du Programmeur Java.
Utilisez-le pour toute demande d'information supplémentaire ou pour toute suggestion au sujet de ces ouvrages.
Pour les informations relatives au Cahier du programmeur Swing, merci d'utiliser le forum qui lui est dédié.
Vous pouvez consulter ces forums librement. Pour y participer, inscrivez-vous tout d'abord.

Sujets Messages récents Identification Inscription
Messages du sujet Utilisation de compareTo

SylvainITIN2004

Ville : ANGERS
Membre depuis : 19 oct. 2005
Messages : 11
 8 nov. 2005 à 16:33
Bonjour manu,

Je suis à la page 137-138. Donc dans cette parti on parle d'implémenter l'interface Comparable. C'est la classse EvenementCalendrier qui implémente Comparable.
La redéfinition de la méthode compareTo ne pose pas trop de problème, même s'il me serait difficile de refaire sans le modèle.

Dans la classe Agenda on remplit un TreeSet.
Et on affiche un objet de type Iterator.
Ce que je ne comprend pas c comment intervient compareTo pour trier mes occurences de dates.
Est ce qu'il le fait direct quand je fait agenda.add(monEvenement)?

Je ne comprend pas trop le fonctionnement.
compareTo compare deux élement. Comment il peut intervenir ici vu qu'on a plusieurs élements. Par exemple je rentre une premiere date d1 suivi d'une deuxième date d2. Bon beh la je peux imaginer qu'avant de remplir mon arbre on vérifie que d1<d2 et on ordonne en fonction. Mais pour ce qui est de la 3eme date comment on trouve ca place.

A moins que dans le treeset on un couple entier objet, et on se sert de l'entier retourner par le compareTo pour ordonner les éléments dans l'arbre. On utilise ainsi les propriété d'un arbre binaire. Dans ce cas on a le classement grace a l'arbre.
Est ce que c possible?

Je suis désolé si je fais a moitié les questions et les réponses mais j'ai besoin de savoir si mon raisonnement tien la route. En plus si c bon ca vous donne moins de boulot en réponse.LOL ;-)

A bientot

---
Vive JAVA!!!

Manu

Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
 11 nov. 2005 à 00:11
> Ce que je ne comprend pas c comment intervient compareTo pour trier mes occurences de dates.
> Est ce qu'il le fait direct quand je fait agenda.add(monEvenement)?

Oui, une instance de TreeSet trie ses éléments à chaque ajout ou suppression.


> Mais pour ce qui est de la 3eme date comment on trouve ca place.

Comme vous le suggérez, le TreeSet compare deux à deux chaque élément déjà stocké avec celui en cours d'ajout grâce aux valeurs retournées par la méthode compareTo, afin de déterminer sa place dans l'ensemble. Vu que les éléments sont dans un arbre binaire, il n'a d'ailleurs probablement pas besoin de comparer l'élément ajouté avec tous les éléments.
Vu que finalement c'est l'implémentation de la classe TreeSet qui vous intéresse, pourquoi ne regardez-vous pas le code source de cette classe, puisqu'il est disponible dans le fichier src.zip du JDK ?


> Je suis désolé si je fais a moitié les questions et les réponses mais j'ai besoin de savoir si mon raisonnement tien la route.

Pas de problème :-)
---
Manu (moderator/modérateur)


Page d'accueilFindIt !ContactDébut de la page

© Copyrights 1997-2014 eTeks - Tous droits réservés

Cahier Java