Java:Les collections

De WIKI.minetti.org
Révision de 7 avril 2016 à 16:57 par Jp (discussion | contributions) (Page créée avec « == Liste avec doublons == L'interface [http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html java.util.List] permet de définir les méthodes chargées de gérer une... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

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)