0% ont trouvé ce document utile (0 vote)
5 vues39 pages

Interfaces de Collection en Java

Le document présente les collections d'objets en Java, définissant des structures telles que Set, List et Map, ainsi que leurs méthodes et interfaces associées. Il aborde également les itérateurs, leur fonctionnement et les types de collections comme ArrayList et LinkedList. Enfin, il mentionne la généricité en Java, permettant de définir des collections avec des types d'éléments spécifiques.

Transféré par

hajarhayani31
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)
5 vues39 pages

Interfaces de Collection en Java

Le document présente les collections d'objets en Java, définissant des structures telles que Set, List et Map, ainsi que leurs méthodes et interfaces associées. Il aborde également les itérateurs, leur fonctionnement et les types de collections comme ArrayList et LinkedList. Enfin, il mentionne la généricité en Java, permettant de définir des collections avec des types d'éléments spécifiques.

Transféré par

hajarhayani31
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

Java Avancé

Les Collections d’objets


Youssef Saadi

@[Link]@[Link]

ISGA Casablanca

AU: 2024/2025
Introduction
 Définition: « Une collection de données est un conteneur d’éléments de même type
qui possède un protocole particulier pour l’ajout, le retrait et la recherche
d’éléments ».
 Exemples: pile, queue (file d’attente), séquence, ensemble et multi-ensemble,
fonction (tableau associatif ou map en anglais).
 Ordre dans les collections:
 Les ensembles et les multi-ensembles n’ont pas d’ordre.
 Les autres collections ont un ordre « naturel » lié à l’ordre dans lequel les éléments ont
été insérés dans la collection.
 Les classes collection sont définies dans le package [Link] et sont définies à partir
de deux Interfaces Java:
❖ Collection
❖ Map

2 Collections (Youssef Saadi / v1.1)


Introduction
- Collection: un groupe d'objets où la duplication peut-être autorisée.
- Set: est ensemble ne contenant que des valeurs et ces valeurs ne sont pas
dupliquées. Par exemple l'ensemble A = {1,2,4,8}. Set hérite donc de Collection,
mais n'autorise pas la duplication. SortedSet est un Set trié.
- List: hérite aussi de Collection, mais autorise la duplication. Dans cette
interface, un système d'indexation a été introduit pour permettre l'accès
(rapide) aux éléments de la liste.
- Map: est un groupe de paires contenant une clé et une valeur associée à cette
clé. Cette interface n'hérite ni de Set ni de Collection. La raison est que
Collection traite des données simples alors que Map des données composées
(clé,valeur). SortedMap est un Map trié.

3 Collections (Youssef Saadi / v1.1)


Framework collection

4 Collections (Youssef Saadi / v1.1)


Framework collection
 Le framework définit aussi des interfaces pour faciliter le
parcours des collections:
 Iterator : interface pour le parcours des collections
 ListIterator : pour le parcours des listes dans les deux sens et modifier
les éléments lors du parcours
 La framework utilise des interfaces pour le tri des collections
 Comparable : interface pour définir un ordre de tri naturel pour un
objet
 Comparator : interface pour définir un ordre de tri quelconque

5 Collections (Youssef Saadi / v1.1)


Les collections implémentant Collection
Toutes ces classes sont disponible à l’adresse suivante :
[Link]

6 Collections (Youssef Saadi / v1.1)


Méthode de l’interface Collection
 boolean add(Object): ajoute l'élément fourni en paramètre à la collection.
La valeur de retour indique si la collection a été mise à jour
 boolean addAll(Collection): ajoute à la collection tous les éléments de la
collection fournie en paramètre
 void clear(): supprime tous les éléments de la collection
 boolean contains(Object): indique si la collection contient au moins un
élément identique à celui fourni en paramètre
 boolean containsAll(Collection): indique si tous les éléments de la
collection fournie en paramètre sont contenus dans la collection
 boolean isEmpty(): indique si la collection est vide
 Iterator iterator(): renvoie un objet qui permet de parcourir l'ensemble
des éléments de la collection.
7 Collections (Youssef Saadi / v1.1)
Méthode de l’interface Collection
 boolean remove(Object): supprime l'élément fourni en paramètre de la
collection. La valeur de retour indique si la collection a été mise à jour
 boolean removeAll(Collection): supprime tous les éléments de la
collection qui sont contenus dans la collection fournie en paramètre
 boolean retainAll(Collection c): permet de retirer tous les éléments de la
collection qui ne se trouvent pas dans la collection passée en paramètre.
Cette opération réalise l'intersection des deux collections.
 int size(): renvoie le nombre d'éléments contenus dans la collection
 Object[] toArray(): renvoie d'un tableau d'objets qui contient tous les
éléments de la collection.

8 Collections (Youssef Saadi / v1.1)


L’interface Set<E>
 L'interface Set représente une collection ne contenant aucun éléments en
double. Autrement dit, les ensembles ne doivent contenir que des
éléments uniques.
 La méthode equals() appliquée entre chaque objet d'une implémentation
de l'interface Set, doit retourner obligatoirement false.
 L'interface Set est implémentée par les classes HashSet et AbstractSet.
De même, elle est étendue par l'interface SortedSet qui permet un tri sur
un ensemble.
 L'autre classe TreeSet n'implémente pas directement
l'interface Set puisqu'elle s'appuie sur l'interface SortedSet.

9 Collections (Youssef Saadi / v1.1)


Les méthodes de l’interface Set
 int size(): retourne le nombre d'éléments de l'ensemble
 boolean isEmpty(): retourne true si l'ensemble ne contient aucun élément
 boolean contains(Object o): retourne true si l'élément spécifié est
contenu dans l'objet Set
 boolean add(Object o): ajoute l'élément spécifié au sein de l'objet Set, s'il
n'est pas déjà présent
 boolean remove(Object o): supprime l'élément spécifié de la
collection Set, s'il est présent
 Iterator iterator(): retourne un itérateur sur les éléments de l'ensemble
 boolean containsAll(Collection c): retourne true si l'objet Set contient
tous les éléments de la collection spécifiée

10 Collections (Youssef Saadi / v1.1)


Les méthodes de l’interface Set
 boolean addAll(Collection c): ajoute tous les éléments de la collection
spécifiée au sein de l'objet Set, s'ils ne sont pas déjà présents.
 boolean removeAll(Collection c): supprime tous les éléments contenus
dans la collection spécifiée, de l'objet Set, s'ils y sont présents.
 boolean retainAll(Collection c): retient seulement les éléments de
l'objet Set, qui ne sont pas contenus dans la collection spécifiée.
 void clear(): supprime tous les éléments de la collection Set.
 Object[] toArray(): retourne un tableau contenant tous les éléments de
l'objet Set.

11 Collections (Youssef Saadi / v1.1)


L’interface Map <K, V>
 Ce type de collection gère les éléments avec deux entités : une clé et une valeur
associée.
 La clé doit être unique donc il ne peut y avoir de doublons. En revanche la même
valeur peut être associée à plusieurs clés différentes.
 Avant l'apparition du framework collections, la classe dédiée à cette gestion était la
classe Hashtable.
 Les collections de type fonction (Map) ou tableau associatif en Java, sont définies à
partir de la racine Interface Map <K, V> (et non Collection <E> )
 La raison est qu’une telle collection est un ensemble de paires d’objets, chaque paire
associant un objet de l’ensemble de départ K à un objet de l’ensemble d’arrivée V ; on
parle de paires (clé, valeur)
 Les classes Map:
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap,
ConcurrentSkipListMap, EnumMap, HashMap, Hashtable, IdentityHashMap,
LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints,
SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

12 Collections (Youssef Saadi / v1.1)


Les méthodes de l’interface Map
 Object put(Object key, Object value): associe la valeur spécifiée à la clé donnée
au sein de la collection
 Object get(Object key): retourne la valeur correspondant à la clé spécifiée.
 Object remove(Object key): supprime la paire clé/valeur correspondant à la clé
spécifiée
 boolean containsKey(Object key): retourne true si la collection contient une
paire clé/valeur correspondant à la clé spécifiée
 boolean containsValue(Object value): retourne true si la collection contient une
ou plusieurs clés pointant la valeur spécifiée.
 boolean isEmpty(): retourne true si la collection ne contient aucune entrée.
 void putAll(Map t): copie toutes les paires clé/valeur de la collection spécifiée
au sein de l'objet Map.
 void clear(): supprime toutes les paires clé/valeur de la collection

13 Collections (Youssef Saadi / v1.1)


Les méthodes de l’interface Map
 boolean equals(Object o): teste l'égalité entre l'objet Map et un autre objet.
 public Set keySet(): retourne un objet Set contenant les clés de l'objet Map
 public Collection values(): retourne un objet Collection contenant les valeurs
de l'objet Map.
 public Set entrySet(): retourne un objet Set contenant toutes les entrées de la
collection.
 int size(): retourne le nombre d'entrées dans la collection.
public interface Entry {
Object getKey();
Object getValue();
Object setValue(Object value);
}

14 Collections (Youssef Saadi / v1.1)


Digression : la généricité en Java
 A partir de JDK 5.0, les collections sont définies par le biais de classes génériques
 Une classe générique est une classe qui définit ses méthodes de manipulation de
structure de données sans préciser le type de ses éléments. Idée: un ensemble de
X, une liste d’Y, …
 Par exemple, on pourrait définir une classe Pile<E> qui définit les méthodes void
empile(E e), E sommet(), void depile()
 Le type E est définit au moment de la déclaration d’un objet de la classe Pile, p.e.
Pile<int> p1 // une pile d’entiers
Pile<String> p2 // une pile de chaîne de caractères
❖ Instanciation
p1 = new Pile<int>;
p2 = new Pile<String>;

15 Collections (Youssef Saadi / v1.1)


Les tableaux dynamiques : ArrayList
 Tableaux dynamiques (anciennement Vector, classe qui existe toujours)
 Dynamique = la taille (nombres d’éléments) du tableau n’est pas fixe et peut
varier en cours d’exécution
 L’accès à ses éléments est direct, comme dans un tableau
 Déclaration / construction
 ArrayList <E> v1 = new ArrayList <E> (); // vecteur dynamique vide
ou
 ArrayList <E> v2 = new ArrayList <E> (c);
/* vecteur dynamique contenant tous les éléments de la collection c */

16 Collections (Youssef Saadi / v1.1)


Les tableaux dynamiques : ArrayList
 Ajout d’un élément en fin de vecteur:
[Link](elem);
 Accès au ième élément:
e = [Link]( 3 ); // accès au 3ème élément du vecteur v1
 Suppression du ième élément du vecteur (avec retour dans e)
E e = [Link]( 3 ); // suppression du 3ème élément
 Parcours: exemple, afficher tous les éléments
public static void affiche (ArrayList <E> v) {
for (E e : v) [Link] ( e + « » );
[Link]();
}

17 Collections (Youssef Saadi / v1.1)


Les itérateurs
 Les itérateurs sont des objets qui permettent de "parcourir" un par un les
différents éléments d’une collection. Ils ressemblent à des pointeurs (tels que
ceux de C ou C++) sans en avoir exactement les mêmes propriétés.
 Il existe deux sortes d’itérateurs :
 Monodirectionnels : le parcours de la collection se fait d’un début vers une fin
; on ne passe qu’une seule fois sur chacun des éléments ;
 Bidirectionnels : le parcours peut se faire dans les deux sens ; on peut avancer
et reculer à sa guise dans la collection.

18 Collections (Youssef Saadi / v1.1)


Itérateurs monodirectionnels
 Chaque classe collection dispose d’une méthode nommée iterator fournissant
un itérateur monodirectionnel, c’est-à-dire un objet d’une classe
implémentant l’interface Iterator<E> (Iterator avant le JDK 5.0). Associé à une
collection donnée, il possède les méthodes suivantes :
 boolean hasNext(): retourne true si l'itérateur a encore des éléments.
 Object next(): retourne le prochain élément de l'itérateur.
 void remove(): supprime de la collection sous-jacente le dernier élément
retourné par l'itérateur.
Iterator itr = [Link]();
while([Link]()){
[Link]();
….
}

19 Collections (Youssef Saadi / v1.1)


Itérateurs bidirectionnels : listIterator
 Certaines collections (listes chaînées, vecteurs dynamiques) peuvent, par nature, être
parcourues dans les deux sens. Elles disposent d’une méthode nommée listIterator qui
fournit un itérateur bidirectionnel.
 Il dispose des méthodes héritées de Iterator et aussi d’autres méthodes permettant
d’exploiter son caractère bidirectionnel, à savoir :
 boolean hasPrevious(): Retourne vrai si l’élément courant à un élément précédant
 Object previous(): Retourne l’élément précédant.
 int nextIndex(): Retourne l’indice de l’élément qui serait retourné par un appel de next
 int previousIndex(): Retourne l’indice de l’élément qui serait retourné par un appel
de previous
 void add(Object o) : Ajoute un élément dans la liste
 void set(Object o): Remplace le dernier élément retourné par next ou previous par o

20 Collections (Youssef Saadi / v1.1)


Les listes : LinkedList
Listes doublement chaînées
• La liste peut être parcourue par un itérateur bidirectionnel ListIterator
• Ajout et suppression d’un élément à une position donnée
• Accès d’un élément en fonction de sa valeur: nécessite le parcours de la liste
Utilisation :
la classe LinkedList se prête bien à l’implémentation des collections ordonnées,
c’est-à-dire :
❖ pile
❖ queue (file d’attente)
❖ séquence

21 Collections (Youssef Saadi / v1.1)


Les listes : LinkedList
 Déclaration / construction
 LinkedList<E> l1 = new LinkedList<E> (); // liste vide
 ou
 LinkedList<E> l2 = new LinkedList<E> (c); /* liste contenant tous les éléments
de la collection c */
 Ajout d’un élément E e au début / fin de la liste
 [Link](elem); [Link](elem);
 Accès au premier / dernier élément de la liste
 E e = [Link](); e = [Link]();
 Suppression du premier / ième / dernier élément
 e = [Link](); e = [Link](i); e = [Link]()

22 Collections (Youssef Saadi / v1.1)


Les listes : LinkedList et Iterateur
 Notion de position courante dans la liste avec l’itérateur de liste
ListIterator <E> iter = [Link]() //iter désigne le début de la liste
 Avancer / reculer d’un élément et retourner l’élément
e = [Link](); e = [Link]();
 Ajout d’un élément à la position courante
[Link](elem); // si fin de liste: ajout à la fin
 Suppression de l’élément à la position courante
[Link](); // suppression du dernier élément retourné par next ou previous
 Parcours: exemple, afficher tous les éléments de la liste
ListIterator <E> iter = [Link]();
while ([Link]()) {
E elem = [Link]();
[Link](elem);
}

23 Collections (Youssef Saadi / v1.1)


Accès concurrent des itérateurs
Comme les itérateurs sont utilisés pour parcourir et mettre à jour des
collections, une exception de type CurrentModificationException est levée
si une mise à jour apparait dans un autre itérateur alors que l’itérateur
courant parcours la liste en même temps.

24 Collections (Youssef Saadi / v1.1)


Les ensembles: HashSet
 Un ensemble est une collection non ordonnée d’éléments de type E, aucun élément
ne peut apparaître plus d’une fois dans un ensemble
 Problème: comme deux objets distincts ont des références différentes, on ne pourra
jamais avoir deux objets égaux même si toutes leurs valeurs sont identiques
-> Il faudra définir un comparateur qui sera capable de tester l’égalité de deux
objets (equals et compareTo)
 Même s’il n’existe pas d’ordre dans un ensemble, l’implémentation informatique
s’appuie sur une organisation des éléments afin de garantir un accès efficace.
 L’utilisateur devra définir, pour l’utilisation d’un
❖ HashSet -> les méthodes hashCode et equals dans la classe des éléments E
❖ TreeSet -> la méthode compareTo dans la classe E

25 Collections (Youssef Saadi / v1.1)


Les ensembles: HashSet
 Déclaration / construction
HashSet<E> e1 = new HashSet<E> (); // ensemble vide
ou
HashSet<E> e2 = new HashSet<E> (c); /* ensemble contenant tous les éléments de la collection c */
 add – ajout d’un élément s’il n’appartient pas encore à l’ensemble (sinon état de l’ensemble
inchangé)
HashSet<E> e = new HashSet<E> ();
E elem = new E();
boolean nouveau = [Link](elem); // true si elem a été ajouté
if (nouveau) [Link](elem + « ajouté à l’ensemble »);
else [Link](elem + « existait déjà dans l’ensemble »);
 contains – test d’appartenance
boolean appartient = [Link](elem); // elem appartient-il à e ?
 remove – suppression d’un élément
boolean trouve = [Link](elem); //false si elem n’appartient pas à e

26 Collections (Youssef Saadi / v1.1)


Les ensembles: HashSet
Parcours à l’aide d’un itérateur
HashSet<E> e = new HashSet<E> ();
… // ajouts d’éléments à l’ensemble
Iterator <E> iter = [Link]();
while ([Link]()) {
E elem = [Link]();
[Link](elem);
}
Remarques:
 Les éléments d’un ensemble n’étant pas ordonnées, aucun ordre d’itération
n’est assuré
 L’ordre d’itération peut varier dans le temps.

27 Collections (Youssef Saadi / v1.1)


L’interface SortedSet
 Cette interface définit une collection de type ensemble trié.
 Le tri de l’ensemble peut être réalisé par deux façons :
 Les éléments contenus dans l’ensemble implémentant l’interface
Comparable pour définir leur ordre naturel
 Il faut fournir au constructeur de l’ensemble un objet Comparator qui
définit l’ordre de tri à utiliser.
 Elle définit les méthodes suivantes :
 Object first(): renvoie le premier élément de l’ensemble
 SortedSet headSet(Object) : renvoie un sous ensemble contenant tous les
éléments inférieurs à celui fourni en paramètre.
 Object last(): renvoie le dernier élément de l’ensemble
…

28 Collections (Youssef Saadi / v1.1)


Les ensembles: TreeSet
 Il s’agit d’un arbre qui représente un ensemble trié des éléments
 Cette classe permet d’insérer des éléments dans n’importe quel ordre et
de restituer ces éléments dans un ordre précis lors de son parcours.
 L’implémentation de cette classe insère un nouvel élément dans l’arbre à
la position correspondante à celle déterminée par l’ordre de tri.
 L’insertion dans un objet TreeSet est plus lente mais le tri est directement
effectué.
 L’ordre est indiqué soit par les objets insérés (s’ils implémente l’interface
Comparable pour définir leur ordre de tri naturel) soit par un objet
implémentant Comparator qui est passé comme paramètre au
constructeur de l’objet TreeSet.

29 Collections (Youssef Saadi / v1.1)


Les tableaux associatifs « Map » : HashMap
 Fonction (Map ) = ensemble de paires (clé, valeur)
 Notion proche de la fonction au sens mathématique
 En informatique, la fonction est aussi appelée tableau associatif
 Rappel: en Java, les collections de type fonction, sont définies à partir de
la racine Interface Map <K, V> ( et non Collection <E> )
 Accès rapide à une valeur en fonction d’une clé
 Techniquement réalisé par une table de hachage sur le domaine des clés
 Tout comme pour un HashSet, l’utilisateur doit définir les méthodes
hashCode et equals dans la classe des clés K.
 Remarque: si K est la classe String, hashCode et equals sont déjà définies
-> l’utilisateur n’a pas besoin de les redéfinir.

30 Collections (Youssef Saadi / v1.1)


Les fonctions « Map » : HashMap
 Déclaration / construction
HashMap <K, V> m = new HashMap <K, V> (); // map vide
 Exemple: HashMap <String,Integer> m = new HashMap <String,Integer>();
 put - ajout d’une paire
[Link](cle, val); // où cle objet de K, val objet de V
 Cas particulier: val peut être de type primitif int, float, char,…(≠ objet)
exemple: [Link](« occident », 1);
 get - accès la valeur associée à une clé
V val = [Link](cle);
if (val == null) [Link](« aucune valeur associée à la clé »)
 remove - suppression d’une paire en foction de la valeur de clé
String cle = «occident»; // par exemple
V val = [Link](cle);
/*supprime l’association «occident» -> valeur; retourne la valeur si «occident» est présente dans la
map, null sinon*/

31 Collections (Youssef Saadi / v1.1)


Les fonctions « map » : HashMap
 En théorie une map ne dispose pas d’itérateur
 En pratique, on utilise la méthode entrySet() défine dans la classe HashMap pour créer un ensemble à partir
du map (l’ensemble des paires du map); puis on crée un itérateur sur cet ensemble.
HashMap <K, V> m = new HashMap <K, V> ();
Set <[Link]<K,V>> paires = [Link](); // ensemble de paires
Iterator <[Link]<K,V>> iter = [Link](); // itérateur
while ([Link]()) {
[Link] <K, V> paire = [Link](); // paire courante
[Link](paire); // affichage de la paire courante
K cle = [Link](); // accès à la clé
V val = [Link](); // accès à la valeur
}
❖ Alternative: construire l’ensemble des clés avec la méthode keySet(); itérer sur cet ensemble et accéder aux
éléments de la map avec get.

32 Collections (Youssef Saadi / v1.1)


L’interface SortedMap
 Elle définit une collection de type Map triée sur la clé.
 Le tri s’effectue de la même façon que pour SortedSet mais sur l’ensemble
des clés.
 Elle définit plusieurs méthodes :
 SortedMap headMap(Object) : renvoie une sous collection contenant
tous les éléments inférieurs à l’objet en paramètre.
 SortedMap subMap(Object, Object);
…

33 Collections (Youssef Saadi / v1.1)


Le tri des collections : Comparable
 Tous les objets qui doivent définir un ordre naturel utilisé par le tri d'une
collection doivent implémenter cette interface.
 Cette interface ne définit qu'une seule méthode :
 int compareTo(Object)
 Cette méthode doit renvoyer :
 une valeur entière négative si l'objet courant est inférieur à l'objet fourni
 une valeur entière positive si l'objet courant est supérieur à l'objet fourni
 une valeur nulle si l'objet courant est égal à l'objet fourni
 Les classes wrappers, String et Date implémentent cette interface.

34 Collections (Youssef Saadi / v1.1)


Le tri des collections : Comparator
 Cette interface représente un ordre de tri quelconque.
 Elle est utile pour permettre le tri d'objets qui n'implémentent pas l'interface
Comparable ou pour définir un ordre de tri différent de celui défini avec
Comparable ( l'interface Comparable représente un ordre naturel : il ne peut
y en avoir qu'un)
 Cette interface ne définit qu'une seule méthode :
 int compare(Object, Object)
 Cette méthode compare les deux objets fournis en paramètre et renvoie :
 une valeur entière négative si le premier objet est inférieur au second
 une valeur entière positive si le premier objet est supérieur au second
 une valeur nulle si les deux objets sont égaux.

35 Collections (Youssef Saadi / v1.1)


Classes utilitaires : les algorithmes
 Collections (avec un s final) fournit des méthodes static pour, en
particulier,
 trier une collection
 faire des recherches rapides dans une collection triée
 Arrays fournit des méthodes static pour, en particulier,
 trier
 faire des recherches rapides dans un tableau trié
 transformer un tableau en liste.

36 Collections (Youssef Saadi / v1.1)


Classes utilitaires
Tableau vers liste
 Pour passer d’un tableau à une liste, on peut utiliser la méthode [Link] :
 String[] mots = { "a", "b", "c" };
 List<String> l = [Link](mots);

Liste vers Tableau


 toArray() renvoie une instance de Object[] qui contient les éléments de la collection
 Si on veut un tableau d'un autre type, il faut utiliser la méthode paramétrée (généricité) <T> T[]
toArray(T[] tableau) à laquelle on passe un tableau du type voulu.
 Si le tableau est assez grand, les éléments de la collection sont rangés dans le tableau
 Sinon, un nouveau tableau du même type est créé pour recevoir les éléments de la collection
 Pour obtenir un tableau de type String[]
 String[] tableau = [Link](new String[0]);

37 Collections (Youssef Saadi / v1.1)


Les algorithmes
 La classe Collections propose plusieurs méthodes statiques qui effectuent des
opérations sur des collections :
 void copy (List, List)
 Object max (Collection)
 Object max (Collection, Comparator)
 Object min (Collection)
 Object min(Collection, Comparator)
 void reverse(List)
 void shuffle(List)
 void sort(List)
 void sort(List, Comparator);

38 Collections (Youssef Saadi / v1.1)


Des Questions ??

39 Collections (Youssef Saadi / v1.1)

Vous aimerez peut-être aussi