1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| import java.util.*;
/**
* Classe Dictionnaire qui créé un dictionnaire contenant les mots et les définitions sous forme d'une HashMap
* Les synonymes pour chaque définition sont stockés dans une ArrayList
*
* @version 1.0 / 01 décembre 2006
*/
public class Dictionnaire {
/**
* Structure contenant les mots et définitions par association clé+valeur
*/
HashMap dico;
/**
* Iterateur pour l'affichage des synonymes et la suppression d'un mot
*/
Iterator it;
/**
* Structure contenant les synonymes pour une définition
*/
ArrayList <Mot> syn;
/**
* Contrôle pour la boucle for
*/
int i;
/**
* Constructeur de la classe Dictionnaire
*/
public Dictionnaire(){
dico = new HashMap();
}
/**
* Méthode ajoutant un mot et une définition au dictionnaire
*/
public void ajouterDico (Mot m,Definition def){
dico.put(m,def);
((Definition)(dico.get(m))).syn.add(m);
}
/**
* Méthode ajoutant le synonyme d'un mot
*/
public void ajouterSyn(Mot m,Mot s){
dico.put(s,dico.get(m));
((Definition)(dico.get(m))).syn.add(s);
}
/**
* Méthode retirant un mot et sa definition du dictionnaire
*/
public void retirerDico (Mot m){
it=((Definition)(dico.get(m))).syn.iterator();
while ( it.hasNext() ) {
Mot n = (Mot)it.next(); //range l'élément courant
if(n==m) it.remove();
}
Object val=dico.remove (m); //supprime le mot et la definition de la HashMap
if (val != null) System.out.println ("Le mot "+m.GetMot()+" à été supprimé du dictionnaire\n");
else System.out.println ("Le mot n'a pas été trouvé dans le dictionnaire !!!");
}
/**
* Méthode affichant la definition
*/
public void AfficheDef (Mot m){
Definition t = (Definition)(dico.get(m));
System.out.println ("Définition de "+m.GetMot()+" : "+t.getDef());
System.out.println ("");
}
/**
* Méthode renvoyant la definition
*/
public Definition GetDef (Mot m){
return (Definition)(dico.get(m));
}
/**
* Méthode affichant les synonymes d'un mot donné
*/
public void afficheSyn (Mot m){
System.out.println ("Les synonymes de "+m.GetMot()+" sont :");
ArrayList t = ((Definition)(dico.get(m))).syn;
it=t.iterator();
while ( it . hasNext ( ) ) {
Mot n = (Mot)it.next(); //range l'élément courant
if((n!=null)&&(n!=m)) System.out.println (""+n.GetMot());
}
System.out.println ("");
}
} |