20
Chapitre 21 Collections Partie I

Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

Embed Size (px)

Citation preview

Page 1: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

Chapitre 21

Collections Partie I

Page 2: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

2

21.1 Introduction

Une collection : est un objet qui regroupe multiple éléments dans une unité.

Une collection est utilisée pour stocker, manipuler et communiquer un agrégat de données.

Exemples des agrégats de données : un bottin téléphonique, une collection de musique, un dossier de courriers etc.

Page 3: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

3

21.2 vue d’ensemble des collections Collection

Une structure de données. La suite de collections Java :

Contient des Interfaces qui définissent les opérations à réaliser d’une façon générique sur différents type de collections.

Offre des implémentation de haute performance et de haute qualité sur les structure de données communes.

Favorise la réutilisation de code.

Page 4: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

4

Les interfaces de la suite de collections

Page 5: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

5

21.3 Classe Arrays

Classe Arrays Fournit des méthodes static de manipulation

des tableaux Fournit des méthodes de haut niveau :

La méthode binarySearch La méthode equals La méthode fill La méthode sort

Exemple Fig21_1

Page 6: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

6

La suite collections Java

Offre de manipuler des éléments d’un type de collection par l’entremise d’un autre type de collection.

La classe Arrays fournit la méthode static asList qui permet de manipuler un tableau comme si c’était une liste.

Exemple Fig21_2

Page 7: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

7

21.4 Interface Collection et classe Collections

Interface Collection L’interface racine dans la hiérarchie des collections Les interfaces Set, Queue, List étendent l’interface Collection Set – une collection qui ne contient pas de doublon List – une collection ordonnée qui peut contenir des

éléments en double Contient des opérations globales :

Ajout, suppression, comparaison et conservation d’objets Fournit une méthode de récupération d’objet

Itérateur (iterator)

Page 8: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

8

21.4 Interface Collection et classe Collections La classe Collections

Fournit des méthodes static qui manipule des collections d’une façon polymorphe Recherche Tri Etc.

Page 9: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

9

21.4 Interface Collection et classe Collections Collection est souvent utilisé comme type de

paramètres d’une méthode. Ceci permettre le traitement polymorphe de collections.

Page 10: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

10

21.5 Listes

List Une collection ordonnée qui peut contenir des

doublons Aussi appelé séquence Les classes qui implémentent l’interface List :

ArrayList LinkedList Vector

Page 11: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

11

21.5.1 ArrayList

Une implémentation tableau de l’interface List Équivalent à Vector, mais non synchronisé. Permet des manipulations sur la taille de la

liste : ensureCapacity size trimToSize

Exemple Fig21_3

Page 12: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

12

L’interface Itérator

Permet de parcourir une collection Permet de retirer un élément de la collection

en utilisant la méthode remove de l’interface Iterator.

L’emploi de la méthode remove de l’interface Collection en même temps provoque une ConcurrentModificationException

Fail-fast

Page 13: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

13

Les méthodes de l’interface Iterator hasNext() next() remove()

Page 14: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

14

21.5.2 LinkedList

Liste chaînée ArrayList est implémenté avec un tableau,

donc plus efficace en terme d’espace mémoire et l’accès est plus rapide.

LinkedList utilise une structure chaînée, demande plus d’espace mémoire et l’accès aléatoire est plus lent. Mais lorsque l’on fait beaucoup de modifications au milieu de la liste, LinkedList est plus efficace.

Page 15: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

15

21.5.2 LinkedList

Exemple Fig21_4

Page 16: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

16

L’interface ListIterator

Étend l’interface Iterator, permet de traverser une liste dans deux sens.

Méthodes : hasNext next hasPrevious previous Remove add set

Page 17: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

17

ListIterator

On peut voir un itérateur comme un curseur Il est toujours placé entre deux éléments

Page 18: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

18

La méthode List.subList

subList est permet d’obtenir une sous liste Représente une vue de la liste mère. L’opération sur la sous liste répercute à la

liste : par exemple : uneList.subList(2,5).clear() supprime l’élément 2 à

4 de la liste mère.

Page 19: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

19

La méthode toArray

La méthode toArray de l’interface List permet d’obtenir un tableau à partir d’une liste en copiant tous les éléments de la liste vers le tableau.

Les opérations sur le tableau ne se reflètent pas sur la liste.

Exemple Fig21_5

Page 20: Chapitre 21 Collections Partie I. 2 21.1 Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est

20

Documentation sur la suite de collections

http://java.sun.com/docs/books/tutorial/collections/index.html