Vous êtes sur la page 1sur 2

TP 2.

2 Collections
Objectifs

 Savoir créer des collections d’objets en JAVA ;


 Maîtriser l’interface List ; ses classes prédéfinies et ses méthodes associées ;
 Savoir trier une collection d’objets en utilisant l’interface Comparable ;
 Savoir trier une collection d’objets en utilisant Comparator, …

EXERCICE 1 :
On veut représenter des comptes bancaires et les personnes titulaires de ces comptes. Un titulaire
peut avoir plusieurs comptes.
Seule la banque peut créer des nouveaux comptes. Quand elle crée un nouveau compte, elle l’ajoute
à la liste des comptes de chacun des titulaires de ce compte et elle l’ajoute aussi à sa propre liste de
comptes.
De même, chaque nouveau compte créé se voit attribuer par la banque un nouveau numéro,
exclusif pour ce compte.
Pour réaliser la création de comptes, il faut une méthode dans Banque qui crée un compte avec en
paramètre le titulaires et le numéro du compte. Il peut également être utile d’écrire une méthode
permettant d’ajouter un nouveau compte chez un titulaire.
Indication : Le code suivant donne une solution qu’il vous faut adapter pour utiliser des collections et compléter par
des nouvelles méthodes. Elle possède trois classes principales : Compte, Banque, et Titulaire.

class Banque{ class Compte{ class Titulaire{


String nom; int numero; String nom;
Compte Comptes[]; double solde; Compte MesComptes[] ;
Banque(String n){ void retrait(double m) { Titulaire(String n){
Comptes= new Compte[50] ; solde = solde - m; nom = n;
nom = n; } MesComptes= new Compte[10] ;
}} void depot(double m){ }
solde = solde + m; }
}}
Question 1: adapter/compléter le code fourni
1. Remplacez les utilisations de Tableau de Compte par celle d’un ArrayList(ListCompte)
pour stocker les comptes d’une banque, et par celle d’un HashSet (SetCompte) pour
stocker les comptes d’un Titulaire.

2. Faites les modifications nécessaires pour les deux classes Banque et Titulaire

3. Ajoutez les méthodes suivantes pour les deux classes :

a) Pour la classe Banque :

• Méthode creerCompte qui prend en paramètre le titulaire du compte et le


numéro du compte.

• Méthode affiche qui fait l’affichage de tous les comptes de la banque

b) Pour la classe Titulaire :

• L’ajout d’un compte chez un titulaire,

• L’affichage de tous les comptes d’un titulaire.

• Ajoutez les méthodes nécessaires pour permettre à un titulaire d’effectuer des


opérations de dépôt et de retrait sur un de ses comptes à partir de son numéro

Question 2

1. On désire faire le tri des comptes de la banque dans l’ordre croissant de leur solde. Pour
cela !

a) Implémenter l’interface Comparable

b) Ecrire une méthode triercompte() qui fait appel à la méthode sort de l’interface Collection
2. Un titulaire voudrait savoir le compte ayant le solde le plus grand

a) créer une nouvelle classe SoldeComparator qui implémente l’interface Comparator

b) Écrire une fonction permettant de retourner le numéro de compte ayant le maximum de


solde

Vous aimerez peut-être aussi