Collection
est parente de trois autres interfaces :
List
,
Set
et sa descendante
SortedSet
que nous verrons dans la suite.
size()
et
isEmpty()
: retourne le nombre d'éléments portés par cette collection, et un booléen qui permet de tester si cette collection est vide ou pas.
contains(T t)
: retourne
true
si l'objet passé en paramètre est contenu dans cette collection.
add(T t)
et
remove(T t)
: permet d'ajouter (resp. de retirer) un objet à cette collection.
iterator()
: retourne un itérateur sur les éléments de cette collection.
addAll(Collection<? extends T> collection)
et
removeAll(Collection<? extends T> collection)
: permet d'ajouter (resp. de retirer) l'ensemble des objets passés dans la collection en paramètre.
retainAll(Collection<? extends T> collection)
: 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.
containsAll(Collection<? extends T> collection)
: retourne
true
si tous les éléments de la collection passée en paramètre se trouvent dans la collection courante. Cette opération teste l'inclusion.
clear()
: efface la collection courante.
toArray(T[] a)
: convertit la collection courante en tableau.
iterator()
de l'interface
Collection
retourne une instance d'
Iterator
. Cette interface est très simple, et n'expose que trois méthodes :
hasNext()
: retourne
true
si la collection possède encore des éléments à itérer ;
next()
: retourne l'élément suivant ;
remove()
: permet de retirer de la collection l'élément courant. Cette opération est optionnelle, et peut ne pas être supportée par toutes les implémentations. Si une implémentation ne supporte pas cette méthode, alors elle doit jeter l'exception
UnsupportedOperationException
.
Collection
dans l'API Java. La classe utilisée le plus souvent est
ArrayList
, qui est également implémentation de
List
. Voyons l'utilisation de cette classe sur un exemple simple.
add(T)
. Voyons ceci sur un exemple.
Exemple 1. Création d'une collection de
String
// création d'une collection de String Collection<String> collection = new ArrayList<String>() ; // ajout d'éléments à cette collection collection.add("un") ; collection.add("deux") ; collection.add("trois") ;
Collection
expose une méthode
contains(T)
qui nous permet de tester si un objet précis appartient à une collection.
Exemple 2. Test d'appartenance d'un objet à une collection
// test d'appartenance de "deux" boolean b1 = collection.contains("deux") ; System.out.println(b1) ; // affiche true // test d'appartenance de "DEUX" boolean b2 = collection.contains("DEUX") ; System.out.println(b2) ; // affiche false
ArrayList
cette méthode appelle la méthode
equals()
de l'objet passé en paramètre, pour tous les objets de la collection. Elle est donc éventuellement coûteuse.
Exemple 3. Parcourir les éléments d'une collection avec un itérateur
// parcourir les éléments de la collection avec // un itérateur Iterator<String> it = collection.iterator() ; while (it.hasNext()) { String element = it.next() ; // retourne un objet de type String System.out.println(element) ; }
Exemple 4. Parcourir les éléments d'une collection avec un for each
// balayer les éléments de la collection avec // un for each for (String element : collection) { System.out.println(element) ; }
Exemple 5. Conversion d'une collection en tableau
// pattern de conversion d'une collection en tableau String [] tab = collection.toArray(new String[] {}) ; // affichage du contenu du tableau for (String element : tab) { System.out.println(element) ; }