:: Enseignements :: Master :: M1 :: 2011-2012 :: Java Avancé ::
[LOGO]

TP note de Java Avance


Quelques conseils avant de commencer, prenez le temps de lire entièrement le sujet, si vous ne comprenez pas quelque chose essayer de faire un dessin, si des tests JUnits ne compile pas, cela veut dire que la signature de votre méthode n'est pas la bonne (il n'y a pas de méthode surchargés dans le sujet à part celles de l'API bien sur), si un test JUnit ne marche pas et que vous ne comprenez pas pourquoi, relisez la doc de la méthode que vous devez implanter plutôt que d'écrire la méthode pour quelle passe le test.

Exercice 1 - BiMap

Le but de cet exercice est d'implanter une BiMap (pour bijective map), qui assure que chaque clé est unique dans l'ensemble des clés et que chaque valeur est unique dans l'ensemble des valeurs (ce n'est donc pas une Map).
Dit autrement, pour un couple clé/valeur, il ne peut pas exister un autre couple ayant la même clé ni un autre couple ayant la même valeur.

L'interface de fr.umlv.tpnote.BiMap est la suivante
.
L'interface devra être modifiée pour répondre aux questions du tp noté.
  • La méthode put insère un couple clé/valeur dans la BiMap. S'il existe un couple ayant la même clé ou un couple ayant la même valeur ceux-ci sont retirer de la BiMap.
  • La méthode getValueFromKey prend en paramètre une clé et renvoie la valeur correspondant ou null s'il n'existe pas de couple ayant comme clé la clé passée en paramétre dans la BiMap.
  • La méthode getKeyFromValue prend en paramètre une valeur et renvoie la clé correspondant ou null s'il n'existe pas de couple ayant comme clé la clé passée en paramétre dans la BiMap.

Le test JUnit est ici BiMapTest.java. Attention, cette classe utilise son propre package fr.umlv.tpnote.test et non pas celui de BiMap.