[java] table de hachage

Fermé
karine - 16 mai 2005 à 10:34
 karine - 16 mai 2005 à 11:34
Bonjour,

J'ai une table de hachage qui contient pour chaque mot son nombre d'occurences.

Je voudrais pour chaque mot inserer dans ma base ce mot et le nombre d'occurences qui va avec.

J'ai fait ça :
for (Enumeration e = keywords.keys() ; e.hasMoreElements() ;) {
for (Enumeration f = keywords.elements() ; f.hasMoreElements() ;) {
query = "INSERT INTO mots VALUES ('" + (ID_mot+1) + "', '" + ID_URL +  "', '" +  e.nextElement() + "', '" + f.nextElement() + "')";
stmt.executeUpdate(query);
         		
		}
	}


mais ça fait pas du tout ce que je veux !

il m'écrit plusieurs fois le meme mot.

Je sais que c'est à cause du for, mais je vois pas comment faire autrement.

Merci pour votre aide !

2 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
16 mai 2005 à 11:26
Tu as 2 choix : soit tu ajoutes a chaqe mot un flag qui renseigne sur le nombre d'occurenres soit tu ne fais rien. Dans ce dernier cas, t'es obligé de parcourir pour calculer d'abord pour connaitre le nombre d 'occureences avant de l'insérer ds la base. Dans le premier cas, il te suffit juste de parcourir une seule fois les mots et de les insérer en lisant le flag. J'espere avoir été clair.
0
Merci !

Mais en fait ça marchait bien, j'avais juste mis cette fonction au mauvais endroit dans mon code.

Désolé !

Je suis un peu tete en l'air des fois ;-)
0