next up previous contents index
suivant: Tableaux d'objets monter: main-prog précédent: La Machine Virtuelle Java   Table des matières   Index

Collections

Les structures de données jouent un rôle central dans la modélisation informatique des problèmes et dans la conception de leurs solutions. Cette notion est aussi importante en programmation que les diverses structures des mathématiques (groupe, espace vectoriel, espace de probabilités, variété différentielle, etc). En informatique comme en mathématiques, il s'agit d'un ensemble de données et de certaines opérations sur celles-ci. Voici quelques exemples de situations concrètes qu'on peut être amené à modéliser par un programme.

Un tirage du loto est certainement un ensemble de numéros : comme le tirage des boules se fait sans remise, un numéro ne peut être tiré qu'une seule fois, et l'ordre dans lequel les numéros sont tirés n'est pas significatif.

Par contre, si le résultat d'une course de chevaux peut aussi être considéré comme un ensemble de chevaux, l'ordre d'arrivée est significatif : on peut obtenir le premier cheval arrivé, le second, etc.

Le cas d'une file d'attente à un guichet est similaire. C'est certainement un ensemble de personnes. Les opérations que l'on peut faire sur une file d'attente sont limitées : on ne peut pas s'insérer en plein milieu d'une file, mais seulement à la queue, et le guichet ne sert pas une personne quelconque de la file, mais seulement celle qui est en tête. Ces opérations n'auraient aucun sens dans le cas d'un tirage du loto : il n'y a pas de numéro de tête ou de queue.

La liste des élèves inscrit-e-s à un cours est aussi un exemple d'ensemble. Il est d'usage de fournir cette liste par ordre alphabétique des noms, plutôt que dans l'ordre où les élèves se sont inscrits au cours, à la différence d'une course de chevaux. Cette liste peut être l'objet d'additions et de suppressions d'élèves inscrits, auquel cas les nouveaux inscrits doivent être insérés dans l'ordre alphabétique, et non en fin de liste. L'existence d'une relation d'ordre (ici l'ordre alphabétique) est essentiel à la gestion de cette liste.

Le cas d'un porte-monnaie est encore différent. Son contenu n'est pas un ensemble de pièces au sens mathématique du terme, puisqu'il peut contenir plusieurs fois la même pièce. Ce cas ne s'apparente pas non plus à une file d'attente ou au résultat d'une course, car l'ordre des pièces n'a pas de sens.

Quelques unes des structures de données les plus utiles, qui peuvent servir à modéliser certaines des situations précédentes, sont rassemblées dans un ensemble cohérent de types figurant dans le paquet java.util, autour du concept de collection.



Sous-sections
next up previous contents index
suivant: Tableaux d'objets monter: main-prog précédent: La Machine Virtuelle Java   Table des matières   Index
Rene' LALEMENT 2002-11-07