TD5 - Les collections

Durée : 3h

Inès de Courchelle

Objectifs :

  • Instancier des collections
  • Lire la documentation
  • Faire la différence entre les types et les types primitifs

Attention :

L’ensemble des exercices ci-dessous ne seront pas tous corrigés en classes

Exercice 1 : Le plus simple

Dans un programme principale, implémenter les collections suivantes :

  1. Implémenter la liste de courses suivante avec un ArrayList : [“Pizza”,“Burger”,“Haricot”,“Salade”,“Oeufs”,“Farine”]

  2. Afficher dans la console à l’aide d’un iterator la liste de course

  3. Implémenter la bibliothèque suivante avec un HashMap : [01=>“Harry Potter”,02=>“Narnia”,03=>“Le seigneur des anneaux”,04=>“Peter Pan”,05=>“Jurassic Park”]

  4. Afficher dans la console à l’aide d’un iterator la bibliothèque

Exercice 2 : Un peu plus loin

  1. Créer une classe Personnage contenant les attributs suivants : String nom, String prenom, Integer puissance.
  1. Implèmenter la classe Main et sa méthode associée afin de tester la création d’objet Personnage
  1. Définir une classe GroupePersonnages avec des méthodes pour ajouter un Personnage et chercher par nom.
L’objectif d’une telle classe est d’obtenir un objet contenant une liste de Personnage
  1. Ajouter à la classe main l’objet maTeam
  2. Implèmenter la méthode void ajouter(Personnage p). L’objectif de cette méthode est donc d’obenir un objet contenant une liste de Personnage :
  3. Ajouter à la classe Main des personnages à votre objet maTeam On souhaite obtenir le comportement suivant :
  • Etape 1 :
  • Étape 2 :
  1. Implèmenter la méthode Personnage rechercherPersonnage(String nom) On souhaite obtenir le comportement suivant : Si la chaîne de caractères passée en paramètre ne correspond à aucun nom de personnage, Alors on renvoi NULL, Sinon on renvoie l’objet personnage complet.

  2. Ajouter à la classe Main la possibilité de chercher un nom de Personnage dans l’objet maTeam.

  3. Ajouter à la classe Personnage la possibilité de rendre des personnages comparable entre eux.

    Mais comment ?

Cela implique que la classe Personnage <> une interface Java de l’API, et que la classe Personnage est une méthode compareTo.

Le comportement de la méthode compareTo doit être le suivant :
  1. Ajouter à GroupePersonnages une méthode void meilleurPersonnage(), qui retourne le personnage le plus puissant.

    Le comportement de cette méthode doit être le suivant :

    Afin de réaliser cette méthode vous êtes obligés d’utiliser les fonctionnalités de la classe Collections proposées dans la doc JAVA. Pour utiliser cette fonctionnalité, vous êtes obligés de rendre les personnages comparable entre eux (étape précédente).

  2. Ajouter à la classe Main la possibilité de chercher le meilleur Personnage dans l’objet maTeam.

  3. Ajouter à GroupePersonnages une méthode nommée trierPersonnage, qui trie la liste de personnage selon la puissance croissante. Afin de réaliser cette méthode vous êtes obligés d’utiliser les fonctionnalités de la classe Collections proposées dans la doc JAVA. Pour utiliser cette fonctionnalité, vous êtes obligés de rendre les personnages comparable entre eux (étape précédente).