Vous êtes sur la page 1sur 16

Programmation orientée objet

java
Chapitre 6: Tableaux, ArrayList, LinkedList en
java
Chapitre 6: tableaux, ArrayList, LinkedList
2

Tableaux  Un tableau une structure de données qui


ArrayList stocke une série de n valeurs de même
LinkedList type (élémentaire ou objet)
 Utilisé comme une variable, un argument
ou un type de retour d’une méthode.
 L’accès à chaque valeur se fait avec un
indice entier
 Soit « tab » un tableau d’entiers
 tab[i] est le ième entier du tableau
 En Java i varie de 0 à n-1 (n est la taille du
tableau)
Chapitre 6: tableaux, ArrayList, LinkedList
3

Tableaux  Déclaration
ArrayList
 typeDesElements[] nomDuTableau;
LinkedList
 ou bien typeDesElements nomDuTableau[];

 où
 typeDesElements un des types de base du
langage JAVA (char, int, float, double...) ou un
nom de classe
 nomDuTableau l’identificateur pour désigner
le tableau
 Ex: int[ ] a; ou int a[ ];
Chapitre 6: tableaux, ArrayList, LinkedList
4

Tableaux  Déclaration
ArrayList
 Exemple
LinkedList
Chapitre 6: tableaux, ArrayList, LinkedList
5

Tableaux  Déclaration
ArrayList
 La taille d'un tableau n'est pas spécifiée à la
LinkedList
déclaration.
 Le nombre d'éléments du tableau sera déterminé
quand l'objet tableau sera effectivement créé en
utilisant new.
 Cette taille donnée à la création est fixe, elle ne
pourra plus être modifiée par la suite.
Chapitre 6: tableaux, ArrayList, LinkedList
6

Tableaux  Déclaration&initialisation
ArrayList
 On peut aussi créer un tableau et
LinkedList
l’initialiser simultanément avec ses valeurs
int[ ] nbrPremiers= {2, 3, 5, 7};
 Il est même possible d’initialiser un
tableau anonyme:
 new int[ ] {11, 13, 17, 19};
 Cette syntaxe est employée pour
réinitialiser un tableau sans créer une
nouvelle variable
 nbrPremiers =new int[ ] {11, 13, 17, 19};
Chapitre 6: tableaux, ArrayList, LinkedList
7

Tableaux  Taille et Parcours d’un tableau


ArrayList
LinkedList  On peut récupérer la taille d’un tableau à
l’aide de nomduTableau.length
 Pour remplir ou parcourir un tableau nous
pouvons utiliser une boucle:
 for(int i = 0; i < a.length; i++)
 System.out.println(a[i]);
Chapitre 6: tableaux, ArrayList, LinkedList
8

Tableaux  Taille et Parcours d’un tableau avec for each


ArrayList  Structure de contrôle introduite par JDK5, adaptée
LinkedList aux collections, aux tableaux et aux chaînes.
int t [ ] {1,2,3,4};
for (int v : t) System.out.println (v) ;
 la variable v prendra successivement les différentes
valeurs du tableau t.
 On obtiendra le même résultat qu’en utilisant :
for (int i = 0; i < t.length; i++)
System.out.println(t[i]);
Chapitre 6: tableaux, ArrayList, LinkedList
9

Tableaux  Copie des tableaux


ArrayList
LinkedList  Pour copier toutes les valeur d’un tableau
dans un autre, il faut employer la
méthode arraycopy de la classe System
 System.arraycopy(source, indiceSource,
cible, indiceCible, compte)
 Exemple:
Chapitre 6: tableaux, ArrayList, LinkedList
10

Tableaux  ArrayList
ArrayList
LinkedList
 package java.util définit une classe,
ArrayList permet de construire des
tableaux de taille variable (dynamique)
de différents types (Integer, Double,…,
Object).
 Un objet ArrayList contient des valeurs
d’un type donné.
 On doit préciser ce type à la déclaration.
Chapitre 6: tableaux, ArrayList, LinkedList
11

Tableaux  ArrayList
ArrayList
LinkedList
Chapitre 6: tableaux, ArrayList, LinkedList
12

Tableaux  ArrayList
ArrayList
 int size(): renvoie la longueur d’un objet ArrayList
LinkedList
int long=Ts.size();
 boolean is Empty(): vérifie si un objet ArrayList est
vide:
boolean b=Ts.isEmpty();
 Type get(int i): renvoie l’entrée de la case numéro
i.
String str=Ts.get(2);
Chapitre 6: tableaux, ArrayList, LinkedList
13

 ArrayList
Tableaux
ArrayList
 boolean add(Type element) ajoute un élément à la
LinkedList
fin de l’objet ArrayList. Pour construire la liste Ts :
[Ahmed, Ali, Karim], on écrira donc :
Ts.add(‘’Ahmed’’);
Ts.add(‘’Ali’’);
Ts.add(‘’Karim’’);
 boolean add(int i, Type element) ajoute un
élément à la position i de l’objet ArrayList.
Ts.add(1, ‘’Saad’’); on obtient Ts : [Ahmed, Saad, Ali,
Karim]
 boolean addAll(ArrayList<Type> L) : ajoute tous
les éléments de L à la fin de l’objet ArrayList
courant.
Chapitre 6: tableaux, ArrayList, LinkedList
14

Tableaux  ArrayList
ArrayList
 Type set(int i, Type element) : remplace
LinkedList
l’ancienne valeur qui était dans la case i
par element.
 Type remove(int i) : supprime et retourne
l’élément qui est dans la case i.
 Type remove(Type element): supprime la
première occurrence de l’élément de
valeur element.
 Le contenu des cases est décalé, et la
longeur de l’ArrayList diminue de 1.
…
Chapitre 6: tableaux, ArrayList, LinkedList
15

Tableaux  Linkedlist
ArrayList
 package java.util définit une classe, LinkedList
LinkedList
permet de construire des listes doublement
chainées de différents types (Integer, Double,…,
Object).
 Un objet LisnkedList contient des valeurs d’un type
donné. On doit préciser ce type à la déclaration.
Chapitre 6: tableaux, ArrayList, LinkedList
16

Tableaux
 Linkedlist
ArrayList  void addFirst(Object): Insère l'objet au début
LinkedList de la liste.
 void addLast(Object): Insère l'objet à la fin
de la liste.
 Object getFirst(): Renvoie le premier élément
de la Liste.
 Object getLast(): Renvoie le dernier élément
de la liste.
 Object removeFirst(): Supprime le premier
élément de la liste et renvoie l'élément qui est
devenu le premier
 Object removeLast(): Supprime le dernier
élément de la liste et renvoie l'élément qui est
devenu le dernier