OVH Cloud OVH Cloud

Table de hachage triée par ordre chronologique

2 réponses
Avatar
David LE BOURGEOIS
Bonjour.

Au sein d'une boucle, je souhaite alimenter une table de hachage. Et au
sortir des itérations, je voudrais retourner l'ensemble des valeurs dans
l'ordre où elles ont été insérées.

La classe Hashtable ne me convient pas, car elle ne garantit aucun
ordre. Quant à SortedList, elle trie selon l'ordre des clés.

Existe-t-il une structure qui permette de stocker une table de hachage
en conservant l'ordre d'insertion de ses éléments ?

Pour l'instant, j'utilise une ArrayList pour stocker les valeurs, et
une Hashtable pour obtenir l'index de la valeur dans l'ArrayList, en
fonction de la clé : Hashtable (clé => index) et ArrayList (index =>
valeur).
Ainsi, l'ArrayList me permet d'obtenir mes valeurs dans l'ordre (j'en
ai besoins à la fin d'itération), et la Hashtable de les obtenir par
leur clé respectives (j'en ai besoin dans chaque tour de boucle).

Existe-t-il une meillleur méthode ?

Merci pour vos réponses.

--
David LE BOURGEOIS

2 réponses

Avatar
Black Myst
David LE BOURGEOIS wrote:
Bonjour.
(coupé)

Existe-t-il une meillleur méthode ?
oui


http://java.developpez.com/faq/java/?page=langage_donnees#LANGAGE_COLLECTIONS_info_map
java.util.LinkedHashMap :
La classe java.util.LinkedHashMap conserve l'ordre d'ajout des clés
(même principe que java.util.LinkedHashSet avec un set). Si la clé
ajoutée est déjà présente, l'ordre ne change pas.


Merci pour vos réponses.
De rien


Avatar
David LE BOURGEOIS

http://java.developpez.com/faq/java/?page=langage_donnees#LANGAGE_COLLECTIONS_info_map

java.util.LinkedHashMap :
La classe java.util.LinkedHashMap conserve l'ordre d'ajout des clés
(même principe que java.util.LinkedHashSet avec un set). Si la clé
ajoutée est déjà présente, l'ordre ne change pas.


Merci pour la réponse et le lien.


--
David LE BOURGEOIS

j'ai diminué un peu la vitesse de démarrage de
MultiDeskOS pour accélérer son exécution.
-- Jayce - Allez comprendre ! --