Ce que vous avez n'est pas un "dictionnaire" (ce n'est pas Python), mais un Map
.
L'ordre de ses entrées n'est pas défini c'est juste une clé de mappage à la valeur sans aucun ordre. L'ordre que vous obtenez est (pseudo) aléatoire et ne peut pas être dépendante.
Btw. le moyen le plus Groovy pour produire la sortie serait de ne pas utiliser une boucle for, mais e. g.
[a:2, c:13, b:5, z:'Test'].values().each { println it }
Si vous voulez avoir une commande, vous avez besoin d'une liste au lieu d'une carte, e. g. comme une liste de cartes comme dans
[[a:2], [c:13], [b:5], [z:'Test']].reverse().collectMany { it.values() }.each { println it }
ou une liste de listes comme dans
[['a', 2], ['c', 13], ['b', 5], ['z', 'Test']].reverse().collect { it[1] }.each { println it }
ou peut-être cette liste de cartes qui serait probablement la plus propre de ces solutions
[[key:'a', value:2], [key:'c', value:13], [key:'b', value:5], [key:'z', value:'Test']].reverse().collect { it.value }.each { println it }
Don n'utilisez pas de variables majuscules. Tôt ou tard, l'analyseur groovy confondra cela avec un nom de classe et s'étouffera. – cfrick