Collections (conteneurs)

Introduction

Il s'agit d'un procédé général permettant de regrouper sous forme d'un objet unique différents éléments (par exemple un ensemble de données constituant un répertoire).
Les premières versions de Java proposaient différentes implantations des collections : tableaux, vecteurs (Vector), ou table de hâchage (Hashtable)

On trouve dorénavant dans Java une architecture unifiée pour représenter et manipuler des collections («collection framework»).
Ces différents cadres disponibles pour la manipulation des collections offrent :

L'interface Collection

Elle constitue la racine de la hiéararchie des collections dont la figure suivante donne un aperçu :





Cette interface est utilisée pour transmettre des collections et les manipuler avec le maximum de généralités. Des sous-interfaces particulières sont fournies par ailleurs (par exemple Set, SortedSet ou List).

Bien que JAVA ne permette pas de spécifier dans une interface des constructeurs, toute implantation de cette interface devrait contenir un constructeur sans paramètre créant une collection vide et un constructeur avec un argument construisant une collection contenant les mêmes éléments que son argument.

Les méthodes de l'interface

La classe abstraite AbstractCollection

Cette classe définie sous la forme :
    public abstract class AbstractCollection
                 extends Object implements Collection

fournit un squelette d'implantation de l'interface Collection

Les interfaces Set et SortedSet

Ces deux interfaces définies sous la forme 
    public interface Set extends Collection
    public interface SortedSet extends Set

correspondent toutes les deux à des collections sans duplication d'éléments.

La classe abstraite AbstractSet

Cette classe fournit un squelette d'implantation de l'interface Set.
Elle est définie sous la forme :
    public abstract class AbstractSet
                 extends AbstractCollection implements Set

Quelques classes concrètes

Quelques classes concrètes étendant la classe AbstractSet sont :

L'interface List

Définie sous la forme
    public interface List extends Collection
elle correspond à une collection ordonnée permettant en particulier l'insertion en un point particulier. La duplication d'éléments y est par ailleurs possible.

Méthodes ajoutéees dans l'interface

La classe abstraite AbstractList

Elle fournit un squelette d'implantation de l'interface List

Quelques classes concrètes étendant AbstractList




Dernière mise à jour : 18 décembre 2005

Valid XHTML 1.0! Valid CSS!