Appels successifs méthode keys (Hashtable) : ordre identique? - Java - Programmation
Marsh Posté le 20-08-2005 à 16:10:08
non
... et ta façon de faire est pour le moins etrange.. parcours la table plutot que les clés *puis* les valeurs..
.. et puis pourquoi tu ne reutiliserais pas le meme Set pour tes deux iterations, aussi ?
Marsh Posté le 20-08-2005 à 16:15:52
ce que tu veux faire doit pouvoir se faire en une seule boucle.
utilise map.entrySet() => ca retourne des Map.Entry qui contiennent l'association key->value
c'est bien plus rapide que d'itérer sur les clef puis de faire un get à chaque fois
Marsh Posté le 20-08-2005 à 16:41:02
the real moins moins a écrit : non |
Salut.
Merci pour ta réponse mais je ne comprends pas trop ta première phrase.
Pour ta seconde phrase, je comprends que tu veux reutiliser la même Enumération, c'est bien ça ?
La classe Enumeration ne propose que 2 méthodes (reste des elements, récuperer le prochain element) donc je ne vois pas comment revenir au début. Faut jouer avec les itérateurs?
Je vais tester ta proposition benou.
Vous me confirmez tous les 2 que l'ordre ne sera donc pas forcément le même et que ça vaut le coup de se poser la question?
Merci
Marsh Posté le 20-08-2005 à 16:46:25
ReplyMarsh Posté le 20-08-2005 à 23:21:23
schumacher> Je n'ai pas trop cherché à comprendre ton problème. Néanmoins pour avoir une Map avec des clés triés tu peut regarder du coté de la librairie commons collection de Apache
edit > + 1 avec moinsmoins : Pkoi n'utilises tu pas la méthode keySet() qui tepermeterrait de parcourir à ta guise tes clefs .
Marsh Posté le 20-08-2005 à 14:13:02
Salut à tous.
J'ai une hashtable contenant les informations sur une ligne base de données.
Les clés correspondent aux colonnes et les valeurs aux valeurs en base, rien de bien compliqué.
J'aimerai savoir si des appels successifs à la méthode keys sur ma Hashtable me garantit que les clés succéssivement retournées se feront à chaque fois dans le même ordre.
Pourquoi? Car je dois construire dynamiquement une requête d'insertion en base et je parcours une première fois ma hashtable pour récupérer les clés puis une autre fois pour récupérer les valeurs.
Ma requete est du style INSERT INTO table (col_1, col2 ...) VALUES (val_1, val_2...)
La réponse semble évidente (même ordre puisque je reste dans la même fonction et mon objet hashtable ne bouge pas) mais je préfère être prudent, ce serait con que les valeurs et les colonnes se croisent, ce serait un beau fouilli
Merci
Message édité par schumacher le 20-08-2005 à 14:16:55