/** * TableDeCorrespondance.java : interface du TA Table de correspondance * * Created: Thu Nov 4 15:10:15 2004 * * @author Jean-Christophe Engel * @version 1 */ public interface TableDeCorrespondance { /** * initialise une table vide * @param taille : taille maximale de la table */ // public TableDeCorrespondance(int taille); //------------------------------------------------------------------------ // méthodes publiques de parcours //------------------------------------------------------------------------ /** * debut : initialise le parcours */ public void debut(); /** * enFin : vrai si le parcours est terminé * @return vrai si le parcours est terminé */ public boolean enFin(); /** * cleCourante : donne la clé de l'association courante * @pre non enFin() * @return clé de l'association courante */ public TCle cleCourante(); /** * valeurCourante : donne la valeur de l'association courante * @pre non enFin() * @return valeur de l'association courante */ public TVal valeurCourante(); /** * avancer : passe à l'élément suivant * @pre non enFin() */ public void avancer(); // //------------------------------------------------------------------------ // méthodes publiques d'accès //------------------------------------------------------------------------ /** * Présent : détermine si une clé est présente * @param cle : clé cherchée * @return vrai si la clé est présente */ public boolean present(TCle cle); /** * Valeur : valeur associée à une clé donnée * pré : la clé est présente * @param cle : clé dont on veut la valeur associée * @return valeur de l'association dont on donne la clé */ public TVal valeur(TCle cle); /** * Ajouter : ajoute une association (clé, valeur) * laisse la table inchangée si la clé est présente ou si la table est pleine * @param cle : clé à ajouter * @param val : valeur associée à la clé */ public void ajouter(TCle cle, TVal val); /** * Modifier : remplace la valeur associée à une clé * laisse la table inchangée si la clé est absente * @param cle : clé dont on veut modifier la valeur * @param val : nouvelle valeur associée à la clé */ public void modifier(TCle cle, TVal val); /** * Retirer : retire l'association dont la clé est donnée * laisse la table inchangée si la clé est absente * @param cle : clé de l'association à supprimer */ public void retirer(TCle cle); }