7
votes

HashMap donne une liste de valeurs non ordonnées?

Je suis un problème étrange avec HASHMAP à Android. Je mettais des valeurs dans le hashmap qui est de la forme xxx pré>

, disissons-moi que je limite les valeurs suivantes dans l'ordre suivant: p>

VIDEOS: video1
VIDEOS: video2
VIDEOS: video3
VIDEOS: video4
VIDEOS: video5
VIDEOS: video6
VIDEOS: video7
VIDEOS: video8
VIDEOS: video9


0 commentaires

8 Réponses :


5
votes

Vous devez utiliser triedmap au lieu de hashmap . Il garantira l'ordre.


2 commentaires

Dépend de votre ordre à laquelle il est après. Cela ne garantira pas l'ordre d'insertion.


LinkedHashMap serait une meilleure option





0
votes

Vous pouvez également utiliser un LinkedHashMap < / code> afin d'obtenir la collection d'entrées dans le même ordre, elles ont été insérées.


0 commentaires

0
votes

Recherchez une classe qui implémente une interface de tri. Ou à des fins d'impression uniquement, vous pouvez commander de défini renvoyé de votre carte avec collections.sort


0 commentaires

4
votes

dans la commande HASHMAP n'est pas là. Essayez d'utiliser LinkedHashMap à la place. linkedhashmap garde la trace des touches sur la base de la commande d'insertion, de sorte que lorsque vous appelez à getKeeSet () , vous obtiendrez les clés dans l'ordre que vous les mettiez dans l'ordre .


0 commentaires

0
votes

Si vous utilisez un hashmap simple, cette classe utilise une technique de hachage pour stocker la valeur, au moment de l'extraction des données de la liste, son utilisation de la même technique de hachage. Et la fonction de hachage ne sont pas commandées. C'est pourquoi le résultat ne vient pas un ordre. En cas de hashmap, vous devez utiliser LinkedHashMap pour la faire commander.


0 commentaires

0
votes
LinkedHashMap<T, T>
keep the insert order

1 commentaires

dans son cas.