You are on page 1of 30

Les Collections

Cours Java - F. Michel

La notion de collection

Une collection est un objet qui regroupe d'autres


objets formant un groupe logique :

une main de poker

->

une collection de cartes

un dossier mail

->

une collection de lettres

un rpertoire tlphonique -> une collection de noms


associs des numros

Vous connaissez dj des objets de ce type :

ArrayList

HashTable

On peut parler de structures de donnes

Les collections en informatique

Un framework informatique manipulant des


collections contient :

des interfaces : types de donne abstraits permettant


de manipuler des collections sans connatre le dtail de
leur implmentation

des implmentations : des classes concrtes qui


implmentent les interfaces : des structures de donnes
rutilisables

des algorithmes : mthodes permettant des oprations


utiles sur les collections (chercher, classer, ajouter,
etc.). Ils sont polymorphiques : applicables sur
diffrentes implmentations d'une interface

La STL de C++, la hirarchie des collections en


smalltalk, ...

Bnfices

Rduire les efforts de programmation

Rapidit et qualit des programmes

pas de programmation bas niveau

l'utilisation des collections garantie l'utilisation


d'algorithmes prouvs

Interoprabilit simplifie

des programmes indpendants manipulant les mmes


structures de donnes sont beaucoup plus simples
connects

Les interfaces du JDK

java.util

Caratristiques communes

Toutes les collections du JDK sont gnriques :

public interface Collection<E>

Pour rduire le nombre des interfaces du JDK, il


n'y a pas d'interface spcifique pour chaque
variante d'une collection (immuables, taille fixe,
ajout uniquement, etc.)
Ainsi, les oprations dfinies par une interface sont
dites optionnelles

une implmentation particulire ne fournit pas


forcment toutes les oprations d'une interface

Si une opration non supporte est invoque, alors la


collection renvoie une UnsupportedOperationException

HashSet

exemple

> java FindDups i came i saw i left


Duplicate detected: i
Duplicate detected: i
4 distinct words: [i, left, saw, came]

java.util.List

java.util.List

java.util.SortedSet

SortedSet : Interface dfinie pour des collections


o les lments sont classs suivant un ordre
particulier.
Implmentations : La classe TreeSet

> [01, abc, test]

La classe java.util.Collections

La classe java.util.Collections

exemple

L'interface java.util.Queue<E>

L'interface java.util.Queue<E>

L'interface java.util.Queue<E>

L'interface java.util.Queue<E>

L'interface java.util.Deque<E>

L'interface java.util.Deque<E>

L'interface java.util.Deque<E>

L'interface java.util.Deque<E>

L'interface java.util.Deque<E>

La classe java.util.ArrayDeque<E>

You might also like