Vous êtes sur la page 1sur 4

Collections

 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

Peter Sander ESSI-Université de Nice Sophia 2


Antipolis

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

besoins  un ArrayList se comporte comme un tableau


 quand un nombre inconnu d’objets sont à stocker…  il contient plusieurs objets (de la classe Object
uniquement)
 …on pourrait créer un très grand tableau, mais
 ne peut contenir des types primitifs
 ce n’est pas très « propre »
 il accède à ses éléments à l’aide d'un index
 ce n’est jamais assez grand !
 il grossit automatiquement
 quand plus de place pour contenir de nouveaux objets
 il existe des méthodes pour ajouter ou enlever un élément

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

 le paramètre index indique où insérer le nouvel élément


 si position incorrecte, une exception est levée

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 :

 exemple : ArrayList aList = new ArrayList();


if (!aList.isEmpty()) { …
for (int i=0; i<aList.size(); i++){ Object[] tab = new Object[aList.size()];
System.out.println(aList.get(i)); }
tab = aList.toArray();
}

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

liste, on peut utiliser deux méthodes Object remove(int index)


 pour avoir la première occurrence, il faut utiliser
throws IndexOutOfBoundsException
int indexOf(Object obj)
 pour avoir la dernière occurrence, il faut utiliser
int lastIndexOf(Object obj)

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

Vous aimerez peut-être aussi