Recherche dans une hashtable JAVA

gad86 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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