Académique Documents
Professionnel Documents
Culture Documents
Définition
une collection est un objet qui contient d’autres objets
exemple: un tableau est une collection
Classes & interfaces
AbstractCollection, ArrayList,
Collections Arrays, Collections, HashSet,
LinkedList, TreeSet, Vector…
Karima Boudaoud List, Map, Set, SortedMap, SortedSet…
IUT- R&T Package
Ces classes et interfaces se trouvent dans le
paquetage java.util
Collections java.util.ArrayList
Solution
Problème la classe java.util.ArrayList
les tableaux ne répondent pas toujours à tous les c’est la classe la plus utilisée
Peter Sander ESSI-Université de Nice Sophia 3 Peter Sander ESSI-Université de Nice Sophia 4
Antipolis Antipolis
ArrayList ArrayList
Création d’un ArrayList Modification d’éléments
il est possible d’indiquer la taille initiale dans le Il y a deux manières d’ajouter un élément
à la fin d'un ArrayList avec la méthode
constructeur
boolean add(Object newElement)
Il y a 2 constructeurs :
à une position donnée
ArrayList() void add(int index, Object newElement)
ArrayList(int initialCapacity) throws IndexOutOfBoundsException
Peter Sander ESSI-Université de Nice Sophia 5 Peter Sander ESSI-Université de Nice Sophia 6
Antipolis Antipolis
ArrayList ArrayList
Modification d’éléments Accès aux Éléments
pour remplacer un objet à une position donnée pour accéder à un élément
Object set(int index, Object newElement) il n’y a pas d’indexation comme pour les tableaux
throws IndexOutOfBoundsException il faut utiliser la méthode spécialisée
Object get(int index) throws IndexOutOfBoundsException
cette méthode fonctionne comme
void add(int index, Object newElement) exemple :
sauf que l’élément à la position index est remplacé ArrayList aList = new ArrayList();
aList.add(new PacMan());
aList[0].display(); // interdit !
aList.get(0).display(); // ok
Peter Sander ESSI-Université de Nice Sophia 7 Peter Sander ESSI-Université de Nice Sophia 8
Antipolis Antipolis
ArrayList ArrayList
Accès aux Éléments Recopie
pour tester le contenu, il existe la méthode pour recopier une liste dans un tableau, il faut
boolean isEmpty() utiliser la méthode
pour connaître le nombre d’éléments dans la liste, Object[ ] toArray()
il faut utiliser la méthode : int size() exemple :
Peter Sander ESSI-Université de Nice Sophia 9 Peter Sander ESSI-Université de Nice Sophia 10
Antipolis Antipolis
ArrayList ArrayList
Recherche d’éléments
Suppression d’éléments
pour savoir si un objet est présent ou non dans
une liste, il faut utiliser la méthode Pour supprimer un élément à une position
boolean contains(Object obj) donnée, il faut utiliser la méthode
pour connaître la position d’un élément dans une
Peter Sander ESSI-Université de Nice Sophia 11 Peter Sander ESSI-Université de Nice Sophia 12
Antipolis Antipolis
Collections Résumé
boolean add(Object obj)
Autre classe void add(int indice, Object obj)
il existe une autre classe qui est aussi très utile : boolean contains(Object obj)
java.util.Vector Object get(int indice)
int indexOf(Object obj)
voir le package java.util.Vector pour connaître les
int lastIndexOf(Object obj)
différences avec ArrayList
void remove(int indice)
void set(indice, Object obj)
int size()
Peter Sander ESSI-Université de Nice Sophia 13 Karima Boudaoud IUT GTR - Sophia Antipolis 14
Antipolis
Exemple Exemple
public class Employe { public static void main(String [] args) {
private String leNom, lePrenom; ArrayList tableauEmployes = new ArrayList();
private double leSalaire Employe emp1 = new Employe("Charles", "McCathieNevile");
public Employe (String unNom, String unPrenom) { Employe emp2 = new Employe("Peter", "Sander");
leNom = unNom; lePrenom = unPrenom;
} tableauEmployes.add(emp1); tableauEmployes.add(emp2);
public Employe (String unNom, String unPrenom, double unSalaire) { …
leNom = unNom; lePrenom = unPrenom; leSalaire = unSalaire; If (!tableauEmployes.isEmpty()) {
} for (int i = 0; i<tableauEmployes.size(), i++)
public String getNom() {
{ System.out.println((Employe) tableauEmployes.get(i).getNom());
return leNom; }
} tableauEmployes.remove(1);
} }
}
Karima Boudaoud IUT GTR - Sophia Antipolis 15 Karima Boudaoud IUT GTR - Sophia Antipolis 16