TP de Java Avancé n°1

Exercice 1

Écrire des méthodes paramétrées avec une signature la plus générale possible qui effectue les actions suivantes. Aucune structure de donnée n’est créée par les méthodes demandées ; tout est passé en paramètre.

Exercice 2

  1. Écrire une méthode qui prend une Map m et qui renvoie son inverse : une Map où les clefs sont les valeurs de m et où un élément x sera associé à une Collection (Set ou List, il fait choisir la bonne) des clefs auxquelles la valeur x est associée.

    Par exemple, si m contient les associations :

    1=>A, 2=>B, 10=>A et 22=>Z

    La Map retournée contiendra alors :

    A=>[1,10], B=>[2], Z=>[22]

  2. Modifier votre code pour que la Map retournée soit une vue de m : toute modification sur la vue doit être rétroactive vers m. Par exemple, avec l’exemple de m ci-dessus, si ven est la vue inversée :

Exercice 3

  1. Ecrire une classe ComparablePair, qui réalise la notion de pair d’éléments comparables, ordonnés par ordre lexicographique

  2. Etendre le concept ci-dessus en créant une classe ComparableList, qui doit également implémenter List (ou étendre AbstractList)

  3. Créer une classe ComparableWrapper<T> dont les instances sont comparables entre eux en utilisant un Comparator<T>