Trié les cartes en groovy
Je m'intéresse à l'aide d'une triés carte en groovy (avec gremlin qui est un DSL pour le graphique de bases de données).
J'ai regardé ce post de blog sur triés cartes ici, mais je suis encore un peu confus.
- Comment sont triés les cartes déclarées? Est-ce différent de la manière standard pour les cartes
y = [:]
? - Lors de l'utilisation d'un triées de la carte, sont des éléments insérés dans la liste va être dans l'ordre où elles sont insérées? Ou vais-je avoir à exécuter
sort{}
avant les éléments de la triés carte sont triés?
OriginalL'auteur F21 | 2012-11-16
Vous devez vous connecter pour publier un commentaire.
Si vous venez de déclarer une carte comme suit:
Ensuite, vous pouvez voir Groovy par défaut fait une
LinkedHashMap
Si vous regardez la documentation pour LinkedHashMap il dit:
Donc
LinkedHashMap
a un ordre, et vous pouvez modifier cet ordre en Groovy, en appelantsort
Si vous voulez ordre naturel des clés, alors vous pouvez utiliser l'une de Java triés cartes, comme les cartes
TreeMap
- À-Dire que vous voulez utiliser dans Groovy, vous pouvez le faire:
L'impression de cela, vous pouvez le voir, il est commandé par les touches:
Un
TreeMap
permettra de maintenir l'ordre que vous ajoutez des touches. UnLinkedHashMap
ne sera pas automatiquement triés lorsque vous ajoutez de nouvelles valeurs.OriginalL'auteur tim_yates