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

Ensemble, Table associative et vue.


Collection et plus si affinité.

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 premiers temps, afficher "toto", "titi" et "tutu" dans n'importe quel ordre.
    • Ensuite, afficher "toto", "tutu" "titi" dans cet ordre, c-a-d l'ordre d'insertion.
    • Enfin, afficher "titi", "toto", "tutu" dans cet ordre, c-a-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'occurence.
    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 à ecrire 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 précédente.

  1. Dans un premier temps, créer une liste temporaire et renvoyé son iterateur.
  2. Créer une classe HalfListIterator qui respecte l'interface d'un iterateur de valeur, qui prend la liste lors de sa construction et utilise l'iterateur 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 ?