Recherche dans une hashtable JAVA

gad86 Messages postés 15 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

Je suis entrain de développer une application en java.Après la lecture du fichier txt, je dois comparer les chaines de caractères récupérées avec le contenu mon hashtable.Si la chaîne de caractères correspond à l'un des éléments de mon hashtable, je dois récupérer le key de cette élément sinon je récupère la chaine de caractère qui se trouve dans le fichier.Pour cela j'ai fait cette boucle

Enumeration e=ht.keys();


while(e.hasMoreElements())

{
obj=e.nextElement();


if (!isotop.equals(ht.get(obj)))
{
System.out.println(isotop);

}

else
{
moliso=Integer.parseInt((obj.toString().trim()));
System.out.println("moliso = " +moliso);
break;
}

le problème est au niveau du else il me retourne que 1 fois sur deux que l'élément existe malgré qu'il existe vraiment.Merci pour votre aide.


A voir également:

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Hashtable, Enumeration, tout ça c'est du vieux Java version 1.
Depuis la version 2, il est préférable d'utiliser HashMap, et les Iterator (à l'aide d'une boucle for each depuis la version 5)

HashMap<String,String> map = new HashMap<String,String>();
String isotop;

// ...

for (String key : map.keySet())
{
    if (map.get(key).equals(isotop))
    {
        int moliso=Integer.parseInt(key.trim()));
        System.out.println("moliso = "+moliso);
        //break; // ?
    }
    else
    {
        System.out.println(isotop);
    }
}
0