next up previous contents index
Next: Implémentations d'une collection Up: Patterns Previous: Compatibilité binaire

   
Les collections

La conception d'une bonne architecture modulaire est loin d'être évidente. La notion de structure de données permet souvent de construire des modules de base d'une telle architecture. Quelques unes des structures de données les plus utiles sont rassemblées dans un ensemble cohérent de types figurant dans le paquet java.util, autour du concept de collection. Une collection représente un groupe d'objets, qui sont ses éléments. De façon précise, les éléments d'une collection ne sont pas des données, mais des références à des objets (instances de classe ou tableaux).

Les principales opérations sur une collection sont :

Comme les éléments d'une collection ne peuvent pas être des valeurs d'un type primitif (char, int, double, etc.), il faut recourir à un constructeur d'une classe enveloppante (Character, Integer, Double, etc.) pour en faire des instances de classe : par exemple, si c est une collection, on ne pourra pas écrire c.add(2), mais c.add(new Integer(2)).

Certaines collections acceptent des éléments dupliqués, certaines sont ordonnées. Le paquet java.util  se compose d'interfaces et de classes ; l'interface Collection, qui spécifie toutes les collections, a plusieurs sous-interfaces spécialisées :

Les collections disposent d'opérations ensemblistes extrêmement utiles permettant de tester l'appartenance de, d'ajouter ou de retirer tous les éléments d'une collection à une autre collection. Ce sont les méthodes :

Les trois dernières retournent true si l'opération a modifié la collection.

Les collections sont naturellement des structures de données hétérogènes, c'est-à dire que leurs éléments ne sont pas nécessairement du même type. On peut ainsi ajouter les éléments suivants à une liste l :

   l.add(new Integer(2));
   l.add("Java");
   l.add(java.awt.Color.red);

    D'autre part, les collections comprennent une autre interface, Map (qui n'est pas une sous-interface de Collection) :


next up previous contents index
Next: Implémentations d'une collection Up: Patterns Previous: Compatibilité binaire
R. Lalement
2000-10-23