voila j'aimerais bcp parcourir mon hashtable comme si ct un vecteur,
je pensais me servir de .elements() mais apparemment cela ne fonctionne pas,
auriez vous une idee?
voila j'aimerais bcp parcourir mon hashtable comme si ct un vecteur,
je pensais me servir de .elements() mais apparemment cela ne fonctionne pas,
auriez vous une idee?
Il faut utiliser la méthode entrySet(); sa te donne une Collection de type Set contenant un ensemble de HashMap.Entry.
hum oki j'ai trouvé un code m'expliquant ca, probleme je n'ai pas la bibliotheque dans netbeans![]()
je vous passe le code que j'ai trouvé en attendant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import java.util.Map; import java.util.Hashtable; import java.util.Iterator; import java.util.Set; public class CollectionMapEntry { public static void main(String[] args) { Hashtable table = new Hashtable(); for(int i = 0; i < 26; i++){ char car = (char)('A' + i); table.put(new Integer(i), new Character(car)); } System.out.println("Taille de la table de hachage : " + table.size()); Set ensemble = table.entrySet(); Iterator i = ensemble.iterator(); while(i.hasNext()){ Object o = i.next(); System.out.println(o.getClass().getName() + "\t" + o.toString()); Map.Entry entree = (Map.Entry)o; Character val = entree.getValue(); System.out.print("\t" + entree.getKey() + " -> (ancienne) " + val + " (nouvelle) "); entree.setValue(new Character((char)(valeur.charValue() + 32))); System.out.println(entree.getValue()); } } }
Salut,
Tu peux modifier le code de la maniere suivante, peut etre qu'il tourne maintenant ? :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import java.util.Hashtable; import java.util.Iterator; public class CollectionMapEntry { public static void main(String[] args) { Hashtable table = new Hashtable(); for(int i = 0; i < 26; i++){ char car = (char)('A' + i); table.put(new Integer(i), new Character(car)); } System.out.println("Taille de la HashTable: " + table.size()); Iterator itValue = table.values().iterator(); Iterator itKey = table.keySet().iterator(); System.out.println("Lecture de la HashTable"); while(itValue.hasNext()){ Character value = (Character)itValue.next(); Integer key = (Integer)itKey.next(); System.out.println("Key = " + key + " Value = " + value); } } }
non en fait j'allais contourner le probleme en mettant un vecteur a la place donc ta solution tombe a point
je vais la tester des que mon collegue aura finit les fenetres
merci a toi![]()
De rien, n'oublie de mettre le tag Resolu.
A+
oki, ben je test mais bon ca m'a l'air carrement correcte donc je mets resolut
![]()
![]()
a mince iterator non plus fait pas partit des bibliotheques de netbeans :s
quelqu'un sait ou je pourrais trouver ces bibliotheques?
ben normalement si mais la je l'ai pas en J2ME, par contre j'ai java.util.enumeration; qui m'a l'air assez proche![]()
Hello.Envoyé par Arkan
Enumeration est l'ancienne classe qui offrait les presque même fonctionalités que Iterator. Je la considère deprecated, tout comme le Vector.
A+
hum oki enfin c tout ce que j'ai actuellement, je m'en contenterais donc![]()
Si je dois faire un parcours itératif dans une Hashtable j'utilise soit la méthode keys() soit values(). La première renvoie une Collection des clés de la Hashtable et l'autre les valeurs.
Le plus simple est d'utiliser la méthode keys() puis de faire un nextElement() et de retrouver la valeur en utilisant la méthode get(Object) simplement.
Enfin moi c'est ce que je fais et ça marche fort bien.
Salut,
Desole pour le tag resolu![]()
Alors si tu as l'interface enumeration.
Tu peux essayer le code suivant qui permet de lire tout les élements d'un Vector v
Par contre c'est bizare de ne pas avoir les autres interfaces ? Ton classpath netbean est correctement configuré ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { System.out.println(e.nextElement()); }
pas de probleme pour le tag, en un sens ct resolut
je vais essayé ta nouvelle methode
merci en tout cas pour votre aide a tous
verification effectuée, ca marche
c'est nikel merci encore![]()
Partager