:: Enseignements :: Licence :: L3 :: 2010-2011 :: Programmation Objet avec Java ::
[LOGO]

11. Ensemble, table associative et vue


Collection et plus si affinités.

Le compte-rendu de ce TP est à rendre pour le lundi 10 janvier 2011.

Exercice 1 - Ensemble et Bag

  1. Ecrire un programme indiquant quels sont les mots qui se trouvent sur la ligne de commande. On affichera les doublons une unique fois.
          java Unique toto tutu toto titi tutu
        
    • Dans un premier temps, afficher "toto", "titi" et "tutu" dans n'importe quel ordre.
    • Ensuite, afficher "toto", "tutu" "titi" dans cet ordre, c-à-d l'ordre d'insertion.
    • Enfin, afficher "titi", "toto", "tutu" dans cet ordre, c-à-d l'ordre lexicographique.
  2. Ecrire un second programme pour qu'il compte le nombre de fois qu'un mot apparait sur sa ligne de commande et affiche chaque mot suivi de son nombre d'occurrences.
    N.B. : penser à faire des fonctions assez générales et si possible utilisables avec autre chose que des String.

Exercice 2 - La vue qui baisse

On cherche à écrire une fonction half qui prend en paramètre une List<Integer> et qui renvoie un Iterator<Integer> dont chaque valeur est la moitié de la valeur d'origine.

  1. Dans un premier temps, créer une liste temporaire et renvoyer son itérateur.
  2. Créer une classe HalfListIterator qui respecte l'interface d'un itérateur, qui prend la liste lors de sa construction et utilise l'itérateur de cette liste pour implanter ses méthodes. L'astuce consistera à renvoyer la valeur divisée par deux au moment du parcours.
  3. Quel est l'intérêt de la deuxième version par rapport à la première ?