Archives Wild Code School
C#

0. Les types énumérables

Quête 4 sur 46

Cette quête te servira de base théorique pour aborder le concept de **collection**

Objectifs

  • Comprendre la notion de collection
  • Représenter une collection en pseudo-code

Roger l'entomologiste

Roger est entomologiste passionné. C'est-à-dire qu'il adore collectionner des insectes empaillés et les montrer à ses amis dès qu'ils passent chez lui.

Problème : Roger ne sait pas classifier les insectes et met les araignées avec les mille-pattes. Il ne fait vraiment pas sérieux lorsqu'un entomologiste reconnu passe chez lui admirer sa collection.

Afin d'aider Roger à correctement collectionner ses insectes, tu vas lui expliquer qu'il doit faire plusieurs collections du même type d'insectes afin de paraître sérieux dans la communauté des entomologistes.

Une collection

Bon, Roger, on commence par les bases.

Les tableaux sont très utiles pour stocker un ensemble de données du même type. Il y a quand même un inconvénient : ils ont une taille fixe. Pour ajouter un élément à un tableau alors qu'on a atteint la taille maximale, il faut l'agrandir en en créant un nouveau, puis lui assigner les données déjà présentes et ajouter à la fin le nouvel élément. Il s'agit d'une opération coûteuse en mémoire et en nombre d'opérations. Surtout si l'on a un tableau de plusieurs millions d'éléments !

Il existe un type de conteneur adapté aux cas pour lesquels on ne connaît pas la taille à l'avance. Il s'agit des collections. Une collection est un ensemble d'objets dont la taille varie en fonction du nombre d'éléments.

Ainsi, une chaîne de caractères est une collection, puisque sa taille varie en fonction du nombre de caractères qu'elle contient.

Modification d'une collection

Une collection est un type de conteneur. Donc une collection possède tous les attributs d'un conteneur sauf qu'il a une taille variable. On accède donc à un élément grâce à un indice.

Quelques différences existent cependant, dues à la nature variable de la taille des collections. Afin d'ajouter un élément, on ne passe pas par un indice mais par une méthode qui permet d'ajouter un élément. Cette méthode agrandit la collection en y ajoutant l'élément désiré.

Ainsi en pseudo-code:

shell
x est une collection d'entiers
x.ajouter(0)
Afficher(x.taille) -- Affiche 1
x.ajouter(1)
Afficher(x.taille) -- Affiche 2
AfficherCollection(x) -- Affiche 0 1
x[0] = 2
AfficherCollection(x) -- Affiche 2 1
x.retirer(0)
AfficherCollection(x) -- Affiche 1

Challenge

Du pseudo-code

  1. Déclare une collection de caractères
  2. Insères-y quatre caractères
  3. Retire le deuxième caractère

Critères de validation

  • Un lien vers ton pseudo-code sur pastebin