Vous êtes sur la page 1sur 2

IRT231 – Programmation orientée objet avancée

TD3 : Collections

Exercice 1. Quels résultats fournira ce programme :


import java.util.*;
public class Essai
{ public static void main (String args[])
{ LinkedList<Integer> liste = new LinkedList <Integer> () ;
liste.add (3) ; liste.add (5) ;liste.add (3) ;liste.add (12)
;liste.add (3) ;
System.out.println (liste) ;
liste.remove (3) ; System.out.println (liste) ;
liste.remove (new Integer(3)) ; System.out.println (liste) ;
Iterator <Integer> it = liste.iterator () ;
while (it.hasNext())if (it.next()==3) it.remove() ;
System.out.println (liste) ;
}
}

Exercice 2. On dispose d’un objet tab déclaré ainsi :


ArrayList <Integer> tab ;

Ecrire les instructions réalisant les actions suivantes sur les valeurs de tab :

 affichage dans l’ordre naturel (on proposera au moins 4 solutions) ;


 affichage dans l’ordre inverse (au moins 2 solutions) ;
 affichage des éléments de rang pair (0, 2,4…) (au moins 2 solutions) ;
 mise à zéro des éléments de valeur négative (au moins 2 solutions).

Exercice 3. On dispose de la classe Cercle suivante :


class Cercle
{ public Cercle (int x, int y, double rayon)
{ this.x = x ; this.y = y ; this.rayon = rayon ; }
public void affiche ()
{ System.out.println ("Coordonnees : " + x + ", " + y
+ " ; rayon : " + rayon) ;
}
public double getRayon () { return rayon ; }
public int getX () { return x ; }
private int x, y ;
double rayon ;
}

Ecrire les instructions permettant de trier, sans modifier la classe Cercle, un tableau (de type
ArrayList) d’objets de type Cercle :

 suivant les valeurs croissantes de leur rayon ;


 suivant les valeurs croissantes de leur abscisse.
Exercice 4. Modifier la classe Cercle de l’exercice précédent, de manière à ce que l’appel (liste
étant un objet de type ArrayList<Cercle>) :
Collections.sort(liste) ;

trie les éléments de liste, suivant les valeurs croissantes de leur rayon.

Exercice 5. Réaliser une classe nommée ListeTriee permettant de manipuler une liste de chaînes
de caractères, en s’arrangeant pour qu’elle soit triée en permanence. Outre que le constructeur, on
la dotera des méthodes :

 ajoute qui ajoute un nouvel élément à la bonne place ;


 affiche qui affiche les éléments de la liste.

Exercice 6. Réaliser une classe nommée Index permettant de gérer un index d’ouvrage. Un tel
index associe une entrée (mot ou suite de mots) à un ou plusieurs numéros de page (contrairement à
ce qui se passe dans les index de la plupart des ouvrages, on ne prévoira pas d’entrées à plusieurs
niveaux).

La classe Index disposera, en plus d’un constructeur, des méthodes :

 ajouter pour introduire une nouvelle entrée, associée à un numéro de page.


 liste pour afficher la liste de l’index, par ordre alphabétique des entrées, la liste des
numéros de page d’une même entrée étant triée par valeur croissante ; l’affichage d’une
entrée d’index se présentera sur une même ligne sous la forme :
Java : 12 25

On prendra bien soin de n’associer qu’une seule fois un même numéro de page à une entrée donnée.

Vous aimerez peut-être aussi