Java:Les collections
Sommaire
Liste avec doublons
L'interface java.util.List permet de définir les méthodes chargées de gérer une collection autorisant les doublons dans les éléments de la liste, ainsi que l'insertion d'éléments null. Cette interface étend l'interface java.util.Collection.
Interface | Méthode | Utilisation |
---|---|---|
java.util.Collection | boolean add(Object o) | Ajoute l'élément o à la collection et retourne TRUE si l'opération s'est bien déroulée. |
boolean addAll(Collection c) | Ajoute à la collection tous les éléments de la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
void clear() | Supprime tous les éléments de la collection. | |
boolean contains(Object o) | Retourne TRUE si l'élément o est présent dans la collection. | |
boolean containsAll(Collection c) | Retourne TRUE si tous les éléments de la collection c sont présents dans la collection. | |
boolean isEmpty() | Retourne TRUE si la collection est vide. | |
Iterator iterator() | Retourne l'objet java.util.Iterator permettant de parcourir la collection. | |
boolean remove(Object o) | Supprime l'élément o de la collection et retourne TRUE si l'opération s'est bien déroulée. | |
boolean removeAll(Collection c) | Supprime de la collection tous les éléments présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
boolean retainAll(Collection c) | Supprime tous les éléments de la collection qui ne sont pas présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
int size() | Retourne le nombre d'élément contenu dans la collection. | |
Object[] toArray() | Retourne un tableau contenant tous les éléments de la collection. | |
java.util.List | void add(int index, Object o) | Ajoute l'élément o à la collection à la position index (compris entre 0 et size()). |
boolean addAll(int index, Collection c) | Ajoute à la collection tous les éléments de la collection c à la position index (compris entre 0 et size()) et retourne TRUE si l'opération s'est bien déroulée. | |
Object get(int index) | Retourne l'élément de la collection à la position index. | |
int indexOf(Object o) | Retourne la position dans la collection du 1er élément o trouvé (-1 si l'élément o n'est pas présent dans la collection). | |
int lastIndexOf(Object o) | Retourne la position dans la collection du dernier élément o trouvé (-1 si l'élément o n'est pas présent dans la collection). | |
ListIterator listIterator() | Retourne l'objet java.util.ListIterator permettant de parcourir la collection et de la mettre à jour. | |
ListIterator listIterator(int index) | Retourne l'objet java.util.ListIterator permettant de parcourir la collection et de la mettre à jour à partir de l'élément à la position index. | |
Object remove(int index) | Supprime de la collection l'élément à la position index et retourne l'élément. | |
Object set(int index, Object o) | Remplace l'élément à la position index dans la collection par l'élément o. | |
List subList(int fromIndex, int toIndex) | Retourner un extrait de la collection contenant les éléments entre les index fromIndex et toIndex (le premier index est inclus et le second est exclus). |
Liste sans doublon
L'interface java.util.Set permet de définir les méthodes chargées de gérer une collection n'autorisant pas les doublons dans les éléments de la liste. Cette interface étend l'interface java.util.Collection.
Interface | Méthode | Utilisation |
---|---|---|
java.util.Collection | boolean add(Object o) | Ajoute l'élément o à la collection et retourne TRUE si l'opération s'est bien déroulée. |
boolean addAll(Collection c) | Ajoute à la collection tous les éléments de la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
void clear() | Supprime tous les éléments de la collection. | |
boolean contains(Object o) | Retourne TRUE si l'élément o est présent dans la collection. | |
boolean containsAll(Collection c) | Retourne TRUE si tous les éléments de la collection c sont présents dans la collection. | |
boolean isEmpty() | Retourne TRUE si la collection est vide. | |
Iterator iterator() | Retourne l'objet java.util.Iterator permettant de parcourir la collection. | |
boolean remove(Object o) | Supprime l'élément o de la collection et retourne TRUE si l'opération s'est bien déroulée. | |
boolean removeAll(Collection c) | Supprime de la collection tous les éléments présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
boolean retainAll(Collection c) | Supprime tous les éléments de la collection qui ne sont pas présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
int size() | Retourne le nombre d'élément contenu dans la collection. | |
Object[] toArray() | Retourne un tableau contenant tous les éléments de la collection. |
Liste ordonnée
L'interface java.util.SortedSet permet de définir les méthodes chargées de gérer une collection ordonnée n'autorisant pas les doublons dans les éléments de la liste. Cette interface étend l'interface java.util.Set.
Interface | Méthode | Utilisation |
---|---|---|
java.util.Collection | boolean add(Object o) | Ajoute l'élément o à la collection et retourne TRUE si l'opération s'est bien déroulée. |
boolean addAll(Collection c) | Ajoute à la collection tous les éléments de la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
void clear() | Supprime tous les éléments de la collection. | |
boolean contains(Object o) | Retourne TRUE si l'élément o est présent dans la collection. | |
boolean containsAll(Collection c) | Retourne TRUE si tous les éléments de la collection c sont présents dans la collection. | |
boolean isEmpty() | Retourne TRUE si la collection est vide. | |
Iterator iterator() | Retourne l'objet java.util.Iterator permettant de parcourir la collection. | |
boolean remove(Object o) | Supprime l'élément o de la collection et retourne TRUE si l'opération s'est bien déroulée. | |
boolean removeAll(Collection c) | Supprime de la collection tous les éléments présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
boolean retainAll(Collection c) | Supprime tous les éléments de la collection qui ne sont pas présents dans la collection c et retourne TRUE si l'opération s'est bien déroulée. | |
int size() | Retourne le nombre d'élément contenu dans la collection. | |
Object[] toArray() | Retourne un tableau contenant tous les éléments de la collection. | |
java.util.SortedSet | Comparator comparator() | Retourne l'objet java.util.Comparator qui permet de trier les éléments dans la collection. |
Object first() | Retourne le premier élément de la collection. | |
SortedSet headSet(Object toElement) | Retourne une collection contenant tous les éléments strictement inférieurs à l'élément toElement (exclu). | |
Object last() | Retourne le dernier élément de la collection. | |
SortedSet subSet(Object fromElement, Object toElement) | Retourne une collection contenant tous les éléments compris entre l'élément fromElement inclu et l'élément toElement exclu. | |
SortedSet tailSet(Object fromElement) | Retourne une collection contenant tous les éléments supérieurs ou égaux à l'élément fromElement. |
Collection clé/valeur
L'interface java.util.Map permet de définir les méthodes chargées de gérer une collection sous la forme clé/valeur.
Interface | Méthode | Utilisation |
---|---|---|
java.util.Map | void clear() | Supprime tous les éléments de la collection. |
boolean containsKey(Object key) | Retourne TRUE si la clé key est présente dans la collection. | |
boolean containsValue(Object value) | Retourne TRUE si la valeur value est présente dans la collection. | |
Set entrySet() | Retourne une collection contenant le mapping de la collection. | |
Object get(Object key) | Retourne la valeur associée à la clé key. | |
boolean isEmpty() | Retourne TRUE si la collection est vide. | |
Set keySet() | Retourne une collection contenant toutes les clés de la collection. | |
Object put(Object key, Object value) | Insère la clé key et sa valeur associée value dans la collection et retourne la valeur précédente (avant l'insertion). | |
void putAll(Map t) | Insère dans la collection toutes les clés/valeurs de la collection t. | |
Collection values() | Retourne une collection contenant toutes les valeurs de la collection. | |
Object remove(Object key) | Supprime l'élément référencé par la clé key et retourne la valeur précédente (avant la suppression). | |
int size() | Retourne le nombre d'élément contenu dans la collection. |
Collection clé/valeur ordonnée
L'interface java.util.SortedMap permet de définir les méthodes chargées de gérer une collection sous la forme clé/valeur et ordonnée par clé. Cette interface étend l'interface java.util.Map.
Interface | Méthode | Utilisation |
---|---|---|
java.util.Map | void clear() | Supprime tous les éléments de la collection. |
boolean containsKey(Object key) | Retourne TRUE si la clé key est présente dans la collection. | |
boolean containsValue(Object value) | Retourne TRUE si la valeur value est présente dans la collection. | |
Set entrySet() | Retourne une collection contenant le mapping de la collection. | |
Object get(Object key) | Retourne la valeur associée à la clé key. | |
boolean isEmpty() | Retourne TRUE si la collection est vide. | |
Set keySet() | Retourne une collection contenant toutes les clés de la collection. | |
Object put(Object key, Object value) | Insère la clé key et sa valeur associée value dans la collection et retourne la valeur précédente (avant l'insertion). | |
void putAll(Map t) | Insère dans la collection toutes les clés/valeurs de la collection t. | |
Collection values() | Retourne une collection contenant toutes les valeurs de la collection. | |
Object remove(Object key) | Supprime l'élément référencé par la clé key et retourne la valeur précédente (avant la suppression). | |
int size() | Retourne le nombre d'élément contenu dans la collection. | |
java.util.SortedMap | Comparator comparator() | Retourne l'objet java.util.Comparator qui permet de trier les éléments dans la collection. |
Object firstKey() | Retourne la première clé de la collection. | |
SortedMap headMap(Object toKey) | Retourne une collection contenant tous les éléments strictement inférieurs à l'élément référencé par la clé toKey (exclu). | |
Object lastKey() | Retourne la dernière clé de la collection. | |
SortedMap subMap(Object fromKey, Object toKey) | Retourne une collection contenant tous les éléments compris entre l'élément référencé par la clé fromKey inclu et l'élément référencé par la clé toKey exclu. | |
SortedMap tailMap(Object fromKey) | Retourne une collection contenant tous les éléments supérieurs ou égaux à l'élément référencé par la clé fromKey. |
Les objets standards
Interface | Classe | Utilisation |
---|---|---|
java.util.List | java.util.ArrayList | Liste qui autorise la gestion des doublons. |
java.util.LinkedList | Liste qui autorise la gestion des doublons et la conservation de l'ordre d'insertion des éléments. | |
java.util.Vector | Liste qui autorise la gestion des doublons (compatibilité avec JDK 1.1 - voir ArrayList). | |
java.util.Stack | Pile LIFO (dernier entré, premier sorti) qui autorise la gestion des doublons (compatibilité avec JDK 1.1 - voir LinkedList). | |
java.util.Set | java.util.HashSet | Liste qui n'autorise pas la gestion des doublons. |
java.util.LinkedHashSet | Liste qui n'autorise pas la gestion des doublons et autorise la conservation de l'ordre d'insertion des éléments. | |
java.util.SortedSet | java.util.TreeSet | Liste ordonnée qui n'autorise pas la gestion des doublons. |
java.util.Map | java.util.HashMap | Collection sous la forme clé/valeur. |
java.util.LinkedHashMap | Collection sous la forme clé/valeur qui autorise la conservation de l'ordre d'insertion des éléments. | |
java.util.IdentityHashMap | Collection sous la forme clé/valeur qui autorise l'utilisation de l'opérateur d'égalité (==) pour la comparaison des clés. | |
java.util.WeakHashMap | Collection sous la forme clé/valeur qui autorise la suppression automatique des couples clés/valeurs lorsque les clés ne sont plus référencés ailleurs. | |
java.util.Hashtable | Collection sous la forme clé/valeur (compatibilité avec JDK 1.1 - voir HashMap) | |
java.util.SortedMap | java.util.TreeMap | Collection ordonnée (par clé) sous la forme clé/valeur. |
Eléments ordonnables
Pour que le tri puisse se faire entre éléments d'une collection ordonnée, il faut que la classe de ces éléments implémente l'interface java.lang.Comparable. Cette interface définit la méthode compareTo qui retourne un entier:
- négatif si l'objet est inférieur à l'objet passé en paramètre,
- positif si l'objet est supérieur à l'objet passé en paramètre,
- nul si l'objet est égal à l'objet passé en paramètre.
Une autre solution, consiste à créer une classe implémentant l'interface java.util.Comparator et de passer son instance en paramètre dans le constructeur de la collection ordonnée. Cette solution est utilisée pour définir un ordre de tri différent de celui défini avec java.lang.Comparable (avec l'interface java.lang.Comparable, il ne peut y avoir qu'un seul tri possible: il représente l'ordre naturel). L'interface java.util.Comparator définit la méthode compare qui retourne un entier:
- négatif si le 1er objet est inférieur au 2ème objet passé en paramètre,
- positif si le 1er objet est supérieur au 2ème objet passé en paramètre,
- nul si les deux objets passés en paramètre sont égaux.
Collections non modifiable
Pour rendre les collections non modifiable:
List<Object> unmodifiableList = Collections.unmodifiableList(modifiableList)