Chapitre 7: Les collections Les collections: Définition

09/06/2014
1
Chapitre 7: Les collections
Définition
Les classes:
Vector
ArrayList
L'interface:
Comparable
104
POO \ N.EL FADDOULI 104
Les collections: Définition
Une collection est un objet unique permettant de gérer un groupe
d'ob
j
ets a
pp
elés éléments de la collection et
q
ui
p
euven
t
être de
j
pp
q
p
types différents.
L'API Collections contient des interfaces regroupant des les objets
sous l'une des formes:
Collection: groupe des objets appelés éléments; la mise en œuvre détermine
s'il existe un classement spécifique et si les doublons sont autorisés.
Ensemble
:
collection
ordonnée
;
les
doublons
ne
sont
pas
autorisés
Ensemble
:
collection
ordonnée
;
les
doublons
ne
sont
pas
autorisés
.
Liste: collection ordonnée, les doublons sont autorisés
105
POO \ N.EL FADDOULI 105
09/06/2014
2
Les collections: Tableau (taille fixe)
Un tableau est crée via une référence déclarée comme suit:
TypeDuTableau [] NomDuTableau;
Exemple
:
int
[
]
T
;
Exemple
:
int
[
]
T
;
On crée un tableau avec l'opérateur new en précisant sa taille
NomDuTableau =new TypeDuTableau [Taille ];
Exemple:T=new int [ 5 ];
Un tableau est un objet qui possède des attributs et sur lesquels on
peut appliquer des méthodes.
Exemple
:
Exemple
:
L'attribut length représente la taille du tableau.
La méthode toString() donne une présentation textuelle du tableau.
Possibilité de déclaration et initialisation
Exemple: int [ ] T = { 23, 45, 9 };
106
POO \ N.EL FADDOULI 106
Les collections: Tableau (taille fixe)
Exercice:
Ecrire un programme (main) pour:
- Lire la taille effective N d'un tableau T d'entiers
- Créer le tableau T.
- Lire N entiers dans le tableau T
- Afficher les éléments de T du dernier au premier.
N.B: Utiliser la classe Lire pour lire les N entiers.
107
POO \ N.EL FADDOULI 107
09/06/2014
3
Les collections: Vector (taille dynamique)
Un vecteur est un objet de type Vector (classe hérité de Java 1.0)
Il est dynamique: il permet de gérer n'importe quel nombre d'objets
(
comme une liste chaînée
)
(
)
Création:Vector <Classe_Mère>t=new Vector <Classe_Mère >();
Quelques méthodes:
add (X) : Ajoute un élément X en fin de liste
add (i,X) : Insère un élément X dans la liste, à l’indice i
clear () : Supprime tous les éléments de la liste
elementAt (i) : Retourne l’élément stocké à l’indice i
remove (i) : Supprime l'élément d'indice i
removeRange (i,j): Supprime les éléments dont les indices [i,j[
size () : Retourne le nombre d'éléments de la liste
....
La classe Vector est dans le package java.util : import java.util.*;
108
POO \ N.EL FADDOULI 108
Les collections: Vector (taille dynamique)
Exemple:
import java.util.* ;
class Etudiant { private int code; private String nom;
public Etudiant(int a, String b){code=a; nom=b;}
public String toString(){return code+" "+nom;} }
public class TestVector
{ public static void main(String [ ] args)
{Vector L = new Vector();
L.add(3);
L.add
(
5.67
)
;
Vector <Object> L = new Vector <Object>();
// stocker des éléments hétérogènes dans le vecteur
(
)
Etudiant e=new Etudiant(234, "Amine");
L.add(e);
L.add (new Etudiant(100, "Said"));
for(int i=0;i<L.size(); i++) System.out.println( L.elementAt(i).toString() );
}}
109
POO \ N.EL FADDOULI 109
Optionnel
09/06/2014
4
Reprendre la classe Formes pour :
Utiliser un attribut
p
rivé F
q
ui est un vecteu
r
de t
yp
eForme.
Exercice
p
q
yp
Enlever l'attribut privé Nde type entier (taille maximale de F)et
l'attribut privé Rde type entier (taille effective de F))
Revoir les constructeurs et les méthodes de la classe.
POO \ N.EL FADDOULI 110
Les collections: ArrayList
ArrayList est une classe qui implémente l'interface List
Permet de gérer n'importe quel nombre d'objets dans une liste
chaînée.
Création:Vector <Classe_Mère>t=new Vector <Classe_Mère >();
Quelques méthodes:
add (X) : Ajoute un élément X en fin de liste
add (i,X) : Insère un élément X dans la liste, à l’indice i
clear () : Supprime tous les éléments de la liste
get(i) : Retourne l’élément stocké à l’indice i
remove (i) : Supprime l'élément d'indice i
removeRange (i,j): Supprime les éléments dont les indices [i,j[
size () : Retourne le nombre d'éléments de la liste
....
La classe ArrayList est dans le package java.util : import java.util.*;
111
POO \ N.EL FADDOULI 111
09/06/2014
5
Les collections: ArrayList
Exemple:
import java.util.*;
public class
ListExemple
{
public
class
ListExemple
{
public static void main(String []args) {
List l = new ArrayList ();
l.add("Un");
l.add("Deux");
l.add(3);
l.add(new
Integer
(4));
l.add(new
Integer
(4));
l.add("Deux");
System.out.println( l ); // ou System.out.println(l.toString());
}} Résultat: [Un, Deux, 3, 4, Deux]
POO \ N.EL FADDOULI 112
Les collections: Classements des éléments
Les interfaces Comparable et Comparator sont utiles pour classer
les collections.
Ils
permettent
de
comparer
les
éléments
d
'
une
collection
Ils
permettent
de
comparer
les
éléments
dune
collection
.
L'interface Comparable fait partie du package java.Lang.
Lorsqu'on crée une classe, la JVM n'a aucun moyen de déterminer
l'ordre envisagé pour les objets de cette classe.
L'implémentation de l'interface Comparable permet d'ordonner les
objets d'une classe.
Les classes Byte, Long, String, Date, Float... implémentent l'interface
Comparable
Comparable
.
La méthode statique sort de la class Collections permet de trier une
liste passée en argument.
Pour permettre de comparer les objets d'une classe, cette dernière
doit implémenter la méthode compareTo de l'interface
Comparable.
POO \ N.EL FADDOULI 113
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !