Stručný sprievodca iteráciou mapy v aplikácii Groovy

1. Úvod

V tomto krátkom tutoriáli sa pozrieme na spôsoby iterácie po mape v Groovy pomocou funkcií štandardného jazyka, ako je každý, eachWithIndex, a a pre-do slučka.

2. The každý Metóda

Poďme si predstaviť, že máme nasledujúcu mapu:

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

Mapu môžeme iterovať poskytnutím každý metóda s jednoduchým uzáverom:

map.each {println "Hex kód: $ it.key = Názov farby: $ it.value"}

Čitateľnosť môžeme tiež trochu zlepšiť zadaním názvu vstupnej premennej:

map.each {entry -> println "Hex kód: $ entry.key = Názov farby: $ entry.value"}

Alebo ak by sme radšej chceli adresovať kľúč a hodnotu osobitne, môžeme ich v zozname uviesť osobitne:

map.each {key, val -> println "Hex kód: $ key = Názov farby $ val"}

V aplikácii Groovy sú zoradené mapy vytvorené s doslovným zápisom. Môžeme očakávať, že náš výstup bude v rovnakom poradí, ako sme definovali na našej pôvodnej mape.

3. The eachWithIndex Metóda

Niekedy chceme vedieť index zatiaľ čo my iterujeme.

Povedzme napríklad, že chceme odsadiť každý druhý riadok na našej mape. Na to v Groovy použijeme eachWithIndex metóda s vstup a index premenné:

vstup map.eachWithIndex, index -> def odsadenie = ((index == 0 

Rovnako ako v prípade každý metódou sa môžeme rozhodnúť použiť kľúč a hodnotu premenné v našej uzávierke namiesto vstup:

map.eachWithIndex kľúč, val, index -> def odsadenie = ((index == 0 

4. Pomocou a Pre-do Slučka

Na druhej strane, ak sa náš prípad použitia hodí na imperatívne programovanie, môžeme použiť aj a pre-do vyhlásenie na iteráciu po našej mape:

pre (záznam na mape) {println "Hex kód: $ entry.key = Názov farby: $ entry.value"}

5. Záver

V tomto krátkom tutoriáli sme sa naučili, ako iterovať mapu pomocou programu Groovy's každý a eachWithIndex metódy a a pre-do slučka.

Vzorový kód je k dispozícii na serveri GitHub.


$config[zx-auto] not found$config[zx-overlay] not found