Un guide rapide pour parcourir une carte dans Groovy

1. Introduction

Dans ce court tutoriel, nous allons examiner des façons d'itérer sur une carte en utilisant Groovy fonctionnalités de langage standard comme chacun , eachWithIndex, et pour en boucle.

2. La méthode each

Imaginons que nous ayons la carte suivante:

def map = [ 'FF0000' : 'Red', '00FF00' : 'Lime', '0000FF' : 'Blue', 'FFFF00' : 'Yellow' ]

Nous pouvons parcourir la carte en fournissant à chaque méthode une simple fermeture:

map.each { println "Hex Code: $it.key = Color Name: $it.value" }

On peut aussi améliorer un peu la lisibilité en donnant un nom à la variable d'entrée:

map.each { entry -> println "Hex Code: $entry.key = Color Name: $entry.value" }

Ou, si nous préférons aborder la clé et la valeur séparément, nous pouvons les lister séparément dans notre clôture:

map.each { key, val -> println "Hex Code: $key = Color Name $val" }

Dans Groovy, les cartes créées avec la notation littérale sont ordonnées. Nous pouvons nous attendre à ce que notre sortie soit dans le même ordre que celui défini dans notre carte d'origine.

3. La méthode eachWithIndex

Parfois, nous voulons connaître l' index pendant que nous itérons.

Par exemple, disons que nous voulons mettre en retrait toutes les autres lignes de notre carte. Pour ce faire dans Groovy, nous utiliserons la méthode eachWithIndex avec des variables d' entrée et d' index :

map.eachWithIndex  entry, index -> def indent = ((index == 0 

Comme pour chaque méthode, nous pouvons choisir d'utiliser les variables clé et valeur dans notre fermeture au lieu de l' entrée :

map.eachWithIndex  key, val, index -> def indent = ((index == 0 

4. Utilisation d'une boucle For-in

D'un autre côté, si notre cas d'utilisation se prête mieux à la programmation impérative, nous pouvons également utiliser une instruction for-in pour itérer sur notre carte:

for (entry in map) { println "Hex Code: $entry.key = Color Name: $entry.value" }

5. Conclusion

Dans ce court tutoriel, nous avons appris à itérer une carte en utilisant Groovy chaque et eachWithIndex méthodes et pour en boucle.

L'exemple de code est disponible à l'adresse over sur GitHub.