0% ont trouvé ce document utile (0 vote)
10 vues16 pages

Introduction à l'API Collections en Java

L'API Collections en Java fournit des interfaces et classes pour gérer efficacement les collections de données, incluant des structures comme List et Map. Elle permet diverses implantations, telles que HashSet et ArrayList, et offre des méthodes pour le tri et le parcours des éléments. Les interfaces Collection et Comparator sont essentielles pour manipuler et ordonner les données dans les collections.

Transféré par

Eya Naimi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues16 pages

Introduction à l'API Collections en Java

L'API Collections en Java fournit des interfaces et classes pour gérer efficacement les collections de données, incluant des structures comme List et Map. Elle permet diverses implantations, telles que HashSet et ArrayList, et offre des méthodes pour le tri et le parcours des éléments. Les interfaces Collection et Comparator sont essentielles pour manipuler et ordonner les données dans les collections.

Transféré par

Eya Naimi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

COLLECTIONS

2K2O/21 TBM 190


Définition
§ L’API collections en java est un ensemble d'interfaces et classes qui aident à
stocker, ordonner et traiter les données efficacement.

§ Une structure collective implante une collection


− Plusieurs implantations possibles
• ordonnées ou non, avec ou sans doublons, ...
• accès, recherche, tris (algorithmes) plus ou moins efficaces

§ Les classes et les interfaces de l’API se trouvent dans le paquetage :


[Link].
− possède deux grandes familles chacune définies par une interface :
• [Link] : pour gérer un groupe d'objets
• [Link] : pour gérer des éléments de type paires de clé/valeur

2K2O/21 TBM 191


API Collections : Hiérarchie (1/3)

2K2O/21 TBM 192


API Collections : Hiérarchie (2/3)
§ Les interfaces à utiliser par des objets qui gèrent des collections sont :
− Collection : interface qui est implémentée par la plupart des objets qui gèrent des
collections
− Map : interface qui définit des méthodes pour des objets qui gèrent des collections
sous la forme clé/valeur
− Set : interface pour des objets qui n'autorisent pas de doublons dans l'ensemble
− List : interface pour des objets qui autorisent des doublons et un accès direct à un
élément
− SortedSet : interface qui étend l'interface Set et permet d'ordonner l'ensemble
− SortedMap : interface qui étend l'interface Map et permet d'ordonner l'ensemble

2K2O/21 TBM 193


API Collections : Hiérarchie (3/3)
§ Les classes qui peuvent être directement utilisés :
− HashSet : Hashtable qui implémente l'interface Set
− TreeSet : arbre qui implémente l'interface SortedSet
− ArrayList : tableau dynamique qui implémente l'interface List
− LinkedList : liste doublement chaînée (parcours de la liste dans les deux sens) qui
implémente l'interface List
− HashMap : Hashtable qui implémente l'interface Map
− TreeMap : arbre qui implémente l'interface SortedMap
§ des interfaces pour faciliter le parcours des collections et leur tri :
− Iterator : interface pour le parcours des collections
− ListIterator : interface pour le parcours des listes dans les deux sens et pour
modifier les éléments lors de ce parcours
− Comparable : interface pour définir un ordre de tri naturel pour un objet
− Comparator : interface pour définir un ordre de tri quelconque

2K2O/21 TBM 194


L’interface : Collection

<<interface>>
Collection
boolean add(E e)
boolean addAll(Collection<? extends E> c)
void clear()
boolean contains(Object o)
boolean containsAll(Collection<?> c)
boolean equals(Object o)
int hashCode()
boolean isEmpty()
Iterator<E> iterator()
boolean remove(Object o)
boolean removeAll(Collection<?> c)
boolean retainAll(Collection<?> c)
int size()
Object[] toArray()
2K2O/21
<T>TBMT[] toArray(T[] a) 195
L’interface : Collection
Méthode Rôle

boolean add(E e) Ajouter un élément à la collection (optionnelle)


boolean addAll(Collection<? extends E> c) Ajouter tous les éléments de la collection fournie en paramètre
void clear() Supprimer tous les éléments de la collection (optionnelle)
boolean contains(Object o) Retourner si l'élément est présent dans la collection

boolean containsAll(Collection<?> c) Retourne si tous les éléments fournis en paramètres sont présents dans la collection

boolean equals(Object o) Vérifier l'égalité avec la collection fournie en paramètre

int hashCode() Retourner la valeur de hachage de la collection

boolean isEmpty() Retourner un booléen qui précise si la collection est vide

Iterator<E> iterator() Retourner un Iterator qui permet le parcours des éléments de la collection
boolean remove(Object o) Supprimer un élément de la collection s'il est présent (optionnelle)
boolean removeAll(Collection<?> c) Supprimer tous les éléments fournis en paramètres de la collection
boolean retainAll(Collection<?> c) Ne laisser dans la collection que les éléments en paramètres : retourne true si le contenu a été modifié
int size() Retourner le nombre d'éléments contenus dans la collection

Object[] toArray() Retourner un tableau contenant tous les éléments de la collection


2K2O/21 TBM 196
<T> T[] toArray(T[] a) Retourner un tableau typé de tous les éléments de la collection
COLLECTION : List

2K2O/21 TBM 197


List
§ Une liste est une collection ordonnée dont le 1er élément à l’indice 0

§ 2 implémentations

[Link] [Link]
§ utilise un tableau en interne pour § Synchronisé par défaut (4x plus lent
ranger les données, que ArrayList)

§ fournit un accès aux éléments par § est une classe dite "thread-safe" :
leur indice que plusieurs processus peuvent
l'utiliser en même temps sans risque
§ très performant et optimisé pour des de perte de données.
opérations d'ajout/suppression
d'éléments en fin de liste,
2K2O/21 TBM 198
ArrayList et Arrays

2K2O/21 TBM 199


Collection vs. Collections
§ Collection est l'interface racine dans l'hiérarchie de java framework Collections.
Chaque classe implémente Collection.
§ Collections est une classe utilitaire membre de java framework Collections et qui
a
− des méthodes statiques pour manipuler
− les objets qui implémentent l'interface List.
− Exemple, la méthode sort() qui tri un ArrayList dans l'ordre croissant

2K2O/21 TBM 200


Classe Collections : méthodes
Méthode Rôle

void copy(List, List) Copier tous les éléments de la seconde liste dans la
première
Enumeration enumeration(Collection) Renvoyer un objet Enumeration pour parcourir la collection
Renvoyer le plus grand élément de la collection selon
Object max(Collection)
l'ordre naturel des éléments
Renvoyer le plus grand élément de la collection selon
Object max(Collection, Comparator)
l'ordre précisé par l'objet Comparator

Object min(Collection) Renvoyer le plus petit élément de la collection selon l'ordre


naturel des éléments

Object min(Collection, Comparator) Renvoyer le plus petit élément de la collection selon l'ordre
précisé par l'objet Comparator
void reverse(List) Inverser l'ordre de la liste fournie en paramètre
void shuffle(List) Réordonner tous les éléments de la liste de façon aléatoire
Trier la liste dans un ordre ascendant selon l'ordre naturel
void sort(List)
des éléments
Trier la liste dans un ordre ascendant selon l'ordre précisé
void sort(List, Comparator)
par l'objet Comparator

2K2O/21 TBM 201


La classe Collections (Tri)
§ La méthode sort(List) ne fonctionnera que si tous les éléments de la liste
sont d’une classe qui implémente l’interface [Link]<? super
E>

§ L’interface Comparable <T>


− Permet de définir un ordre de trie naturel pour un objet
− Il faut redéfinir la méthode
public int compareTo(T o)
− de sorte

2K2O/21 TBM 202


Comparable - Exemple
§ Trier des personnes par âge

2K2O/21 TBM 203


La classe Collections (Tri)
§ La méthode sort(List, Comparator) utilise un objet qui implémente
l’interface [Link]<? super E>

§ L’interface Comparator <T>


− Permet de définir un ordre de tri quelconque
− Il faut redéfinir la méthode
public int compare(T o1, T o2)
− de sorte

2K2O/21 TBM 204


Comparator – Exemple
§ Trier des personnes par âge

2K2O/21 TBM 205

Vous aimerez peut-être aussi