Vous êtes sur la page 1sur 9

Collection d’objets: la classe

ArrayList
Programmation objet: premiers pas en Java

François Barthélemy

Le Cnam, Département Informatique

1 F. Barthélemy - Collection d’objets: la classe ArrayList


Les collections d’objets

Il arrive fréquemment qu’on regroupe une collection


d’objets de même type dans une structure.
Cette structure est elle-même un objet.
Il faut bien définir cette articulation et bien attribuer les
méthodes à la classe qui convient (objet de base ou
collection).
Exemples :
I Élève/classe

I Livre/Bibliothèque

I Soldat/Régiment

I etc

2 F. Barthélemy - Collection d’objets: la classe ArrayList


Collection

Tableau : bien pour les données, mais pas de méthodes.


Collection : tableau pour les données + méthodes pour
gérer le tableau.
Possibilité de définir sa propre classe pour des méthodes
spécifiques à une application.
Classe ArrayList : classe prédéfinie avec des méthodes
standard.
Possibilité d’hybride : classe spécifique avec une variable
de type ArrayList pour contenir les données.

3 F. Barthélemy - Collection d’objets: la classe ArrayList


Classe Arraylist

Comme un tableau.
Type : ArrayList<String> (équivalent de String[])
A des cases numérotées à partir de 0.
Taille non précisée et s’adaptant au contenu.
Accès aux cases et modification du contenu via des
méthodes.
Autres méthodes pour connaître le nombre de cases, vider
d’un coup la structure, etc.

4 F. Barthélemy - Collection d’objets: la classe ArrayList


Méthodes de base

add : ajoute un nouvel objet à la fin du tableau.


set : place un objet dans une case spécifiée par son indice.
(erreur s’il n’y a pas déjà un objet dans cette case).
get : donne le contenu d’une case spécifiée par son indice.
size : donne le nombre d’objets dans la structure.

5 F. Barthélemy - Collection d’objets: la classe ArrayList


Exemple
import java.util.ArrayList;
public class Drapeau{
public static void main(String[] args){
ArrayList<String> als =
new ArrayList<String>();
als.add("bleu");
als.add("blanc");
als.add("rouge");
als.set(1,"jaune");
for (int i=0; i<als.size(); i++){
System.out.println(als.get(i));
}
}
}
Autres méthodes

contains : teste si un élément est dans la structure.


remove : enlève un élément. Paramètre : un indice ou
l’objet à enlever.
indexOf : permet d’avoir l’indice de la première occurrence
d’un élément.
clear : vide la structure.

7 F. Barthélemy - Collection d’objets: la classe ArrayList


ArrayList et types primitifs

Contrairement aux tableaux, ArrayList ne peut contenir


que des objets.
Pour mettre des valeurs de types primitifs, utilisations de
classes-enveloppes : Integer (int), Character (char),
Double (double), Boolean (boolean).
Types : ArrayList<Integer>, ArrayList<Character>. . .
Types : ArrayList<int> et autres interdits.

8 F. Barthélemy - Collection d’objets: la classe ArrayList


Conclusion sur ArrayList

Très pratique.
Point déterminant : la gestion automatique de la taille.
L’essayer c’est l’adopter.
Remplace très souvent les tableaux.

9 F. Barthélemy - Collection d’objets: la classe ArrayList