TP 4 de Programmation, 2e Année Informatique 2006-2007
Exercice 1
Question 1
Soit la classe Etudiant. En utilisant les collections, écrire une classe Promotion, disposant des méthodes suivantes :
- add(Etudiant e)
- remove(Etudiant e)
- Iterator<Etudiant> iterator()
- Collection<Etudiant> getEtudiants()
- double getMoyenne()
Utilisez une ArrayList pour implémenter Promotion.
Utilisez un itérateur pour implémenter getMoyenne.
Ajouter une méthode getMoyenne1(), identique à getMoyenne, mais utilisant la boucle simplifiée du jdk1.5.
Testez ce code :
Etudiant e= new Etudiant(1, "Turing", "Alan");
promotion.add(e);
promotion.remove(new Etudiant(1, "Turing", "Alan"));
// Afficher la liste des étudiants de la promotion.
Que se passe-t-il ? Corrigez le code, si nécessaire.
Question 2
Reprendre la question 1, en implémentant Promotion à l'aide d'un
TreeSet. Les étudiants seront ordonnés par ordre
alphabétique.
Question 3
Sans modifier les classes précédentes, construisez un TreeSet
contenant les étudiants triés par moyenne.
Question 4
Regardez la classe Collections.
Utilisez-la pour créer une liste des étudiants triés par moyenne, sans
passer par un TreeSet comme dans la question 3.
Exercice 2
La classe DicoFrameMap est l'interface
d'un dictionnaire. L'utilisateur peut y insérer un mot et
visualiser les définitions existantes (en mémoire).
Complétez DicoFrameMap en utilisant une Map pour
représenter le dictionnaire :
- faites fonctionner le bouton insérer
- faites fonctionner le bouton chercher
- faites fonctionner le bouton lister : la liste des mots
définis apparaîtra dans la fenêtre centrale.
- regardez la documentation de SortedMap. modifiez
la fonction de recherche pour qu'elle renvoie le premier mot
qui commence par ce qui est tapé dans la fenêtre du
haut.
Exercice 3
Reprenez l'exercice sur les bibliothèques. Quelle structure de données
vous permettra d'être sûr que les articles ont des identifiants
uniques? Quelle structure vous permettra de récupérer rapidement un
article, connaissant son identifiant?
Modifiez la classe bibliothèque en conséquence.
Serge ROSMORDUC