Kratki vodič za kretanje po mapi u Groovyju

1. Uvod

U ovom ćemo kratkom vodiču pogledati načine za prelazak preko mape u Groovyu koristeći značajke standardnog jezika poput svaki, eachWithIndex, i a za-in petlja.

2. The svaki Metoda

Zamislimo da imamo sljedeću kartu:

def map = ['FF0000': 'Crvena', '00FF00': 'Lime', '0000FF': 'Plava', 'FFFF00': 'Žuta']

Možemo prelaziti preko karte pružajući svaki metoda s jednostavnim zatvaranjem:

map.each {println "Hex kod: $ it.key = Naziv boje: $ it.value"}

Također možemo malo poboljšati čitljivost davanjem imena varijabli unosa:

map.each {entry -> println "Hex kod: $ entry.key = Naziv boje: $ entry.value"}

Ili, ako se radije ključu i vrijednosti obraćamo odvojeno, možemo ih zasebno navesti u našem zatvaranju:

map.each {key, val -> println "Hex kod: $ key = Naziv boje $ val"}

U Groovyju su naručene karte stvorene s doslovnim zapisom. Možemo očekivati ​​da će naš izlaz biti istim redoslijedom kako smo definirali na našoj izvornoj karti.

3. The svakiWithIndex Metoda

Ponekad želimo znati indeks dok se ponavljamo.

Na primjer, recimo da želimo uvući svaki drugi redak na našoj karti. Da bismo to učinili u Groovyju, upotrijebit ćemo svakiWithIndex metoda sa ulazak i indeks varijable:

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

Kao i kod svaki metodu, možemo odabrati upotrebu ključ i vrijednost varijable u našem zatvaranju umjesto ulazak:

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

4. Korištenje a Za-u Petlja

S druge strane, ako se naš slučaj upotrebe bolje prikaže imperativnom programiranju, možemo koristiti i za-in izjava za itiranje preko naše karte:

za (unos na karti) {println "Hex kod: $ entry.key = Naziv boje: $ entry.value"}

5. Zaključak

U ovom kratkom vodiču naučili smo kako iterirati kartu pomoću Groovyjeve svaki i svakiWithIndex metode i a za-in petlja.

Primjer koda dostupan je na GitHubu.