Problème Hashmap en java - Java - Programmation
Marsh Posté le 31-01-2009 à 18:38:05
Salut à toi
tu peux faire plus simple par exemple comme ça :
Code :
|
Marsh Posté le 31-01-2009 à 19:02:29
Merci de ta réponse ca marche nickel.
J'aimerai également savoir ou se trouve la faute dans mon programme, car j'ai beau cherché mais je ne trouve pas ce qui cloche.
Je cherche également une fonction qui me permettrait de supprimer de la liste tous les mots commençant par une string passée en paramètre, mais je n'ai pas d'idée dessus. Quelqu'un aurait-il une petite idée s'il vous plâit?
Marsh Posté le 01-02-2009 à 03:06:15
Quelque chose dans ce genre là devrait suffire ?
Code :
|
C'est une version simplifiée, tu peux t'amuser à rajouter un test sur words != null au début de la méthode, etc ...
Marsh Posté le 01-02-2009 à 11:49:38
jaysiat a écrit : J'aimerai également savoir ou se trouve la faute dans mon programme, car j'ai beau cherché mais je ne trouve pas ce qui cloche. |
A l'issue de la 1ère itération de la boucle for (i=0), l'itérateur it est positionné sur le dernier élément de la liste.
Donc pour les itérations suivantes de la boucle for (i=1, i=2, etc), it.hasNext() va renvoyer faux.
Marsh Posté le 01-02-2009 à 23:07:09
jaysiat a écrit : |
Merci de votre aide, mais la je comprends pas pourquoi l'iterator se place en bout de ma liste.
Ce que je voulais faire c'est prendre dans un premier temps le premier mot de la liste avec liste.get(i) et le comparé avec les mots contenus dans ma l'ensemble de ma liste pour augmenter le compteur d'occurence, puis passer au deuxieme mot et comparer avec la suite des mots ainsi de suite.
Marsh Posté le 01-02-2009 à 23:12:23
dans ta boucle for qui itère sur liste tu as une boucle while qui itère aussi sur liste ... c'est pas bon, dailleurs algorithmiquement ça n'a aucun sens
une fois que tu sortiras du while, pour toutes les itérations suivantes du for, il ne se passera rien
Marsh Posté le 31-01-2009 à 17:08:47
Bonjour,
J'essaie de crée une hashmap qui va contenir des couples de mots avec leurs nombre d'occurrence à partir d'une liste de mots.
J'ai un petit soucis sur le nombre d'occurrence qui reste toujours égale à 0. Si quelqu'un a une solution à me proposer je le remercie d'avance.
public static Map<String,Integer> occurrencesDesMots(List<String> liste){
Map<String,Integer> table = new HashMap();
Iterator it=liste.iterator();
int i;
int nboccurence;
for( i=0; i<liste.size(); i++){
nboccurence=0;
while(it.hasNext()){
Object o = (Object) it.next();
Object c = (Object) liste.get(i);
if(c.equals(o)){
nboccurence++;
}
}
table.put(liste.get(i),nboccurence);
}
return table;
}