TD 2 Les Collections Java
TD 2 Les Collections Java
TD 2 Les Collections Java
TD – Les collections
Exercice 1 :
1. Définir une classe Etudiant caractérisé par id(entier), nom (chaine de caractères) et
prénom (chaine de caractères).
Elle possède les méthodes :
- Constructeur par défaut et paramétré
- Les getters et les setters
- La redéfinition de la méthode equals(), permettant de tester l’égalité entre 2
étudiants en utilisant l’id.
- La redéfinition de la méthode toString(), permettant de donner une représentation
de l’étudiant sous forme de chaine de caractères
2. Créer l’interface Université contenant les méthodes suivantes :
6. Ecrire un programme main qui permet de créer une liste/ (ensuite un ensemble)
d’étudiants et de tester les méthodes implémentées.
Exercice 2 :
Nous voulons créer un répertoire téléphonique en Java avec les informations suivantes :
Nom numéro
Ali 99 966 456
Salah 20 998 567
…..
Ecrire une classe annuaire qui permet d’enregistrer les noms de personnes avec leurs numéros
de téléphone. La classe dispose ainsi d’un attribut TreeMap <String, String> qui permet
d’enregistrer le nom d’une personne et son numéro. Elle dispose aussi :
- Méthode getNuméro(String nom) qui permet de retourner le numéro de téléphone.
- Méthode ajouterNuméro(String nom, String num) qui permet d’attribuer un numéro à
une personne. Votre méthode doit traiter les exceptions.
- Méthode affiche() qui permet d’afficher le contenu de votre annuaire sous le format :
nom personne : numéro.
Exercice 3 :
Nous désirons réaliser une application de gestion de comptes bancaires. Ainsi nous disposons
des deux classes suivantes : Compte et Banque qui vont permettre la création et la simulation
du fonctionnement d’une banque : création de compte, ajout de solde comptes et mouvements
sur les comptes, etc.
La classe Compte dispose d’un attribut numéro, d’un solde, d’une méthode de dépôt qui permet
d’ajouter du solde au compte, d’une méthode de retrait qui permet de retirer du solde du
compte.
La classe banque est décrite par ses attributs privés : nom et par une Map qui associe à chaque
numéro de compte un objet de type Compte (numero→compte). Il est à noter que les numéros
de comptes sont incrémentés automatiquement.
La classe banque est décrite par les méthodes suivantes :
/* Création compte et ajout dans le tableau des comptes de la banque */
public void creerCompte(double init);
/* Vérifier si un numéro de compte existe dans la banque? */
public boolean isNumCompte(int n);
/* Effectuer un dépôt pour un numero de compte */
public boolean depot(int num, double m);
/* Virement d’une banque à une banque */
public boolean virerVers(double m, int numS, int numD, Banque b);
/* Virement interne d’un compte à un autre*/
public boolean virerVers(double m, int numS, int numD);
/* Méthode interne (privée) pour récupérer un compte */
private Compte getCompteDeNum(int n)
/* Bilan (solde total) des comptes de la banque */
public double getSoldeTous();
Nous désirons enfin afficher les comptes triés par leur solde décroissant. Pour cela, il faut créer
une classe ordreParSolde qui implante la Comparator<Compte> selon l’ordre des soldes
courants. Enfin, tous les comptes ayant un solde de compte null doivent être supprimés.