Eine Kurzanleitung zum Iterieren einer Karte in Groovy

1. Einleitung

In diesem kurzen Tutorial sehen wir uns Möglichkeiten an, wie Sie eine Karte in Groovy mithilfe von Standard- Sprachfunktionen wie each , eachWithIndex und einer For-In- Schleife durchlaufen können .

2. Die jede Methode

Stellen wir uns vor, wir haben die folgende Karte:

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

Wir können über die Karte iterieren, indem wir jeder Methode einen einfachen Abschluss geben:

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

Wir können die Lesbarkeit auch ein wenig verbessern, indem wir der Eingabevariablen einen Namen geben:

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

Wenn wir den Schlüssel und den Wert lieber separat ansprechen möchten, können wir sie in unserem Abschluss separat auflisten:

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

In Groovy werden Karten sortiert, die mit der Literalnotation erstellt wurden. Wir können erwarten, dass unsere Ausgabe in derselben Reihenfolge erfolgt, wie wir sie in unserer ursprünglichen Karte definiert haben.

3. Die eachWithIndex- Methode

Manchmal möchten wir den Index wissen , während wir iterieren.

Angenommen, wir möchten jede zweite Zeile in unserer Karte einrücken. Um das zu tun in Groovy, werden wir die Verwendung eachWithIndex Methode mit Eintrag und Index - Variablen:

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

Wie bei der jeder Methode können wir wählen , die verwenden Schlüssel und Wertvariablen in unserem Verschluss anstelle des Eintrags :

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

4. Verwenden einer For-In- Schleife

Wenn sich unser Anwendungsfall jedoch besser für die imperative Programmierung eignet, können wir auch eine For-In- Anweisung verwenden, um über unsere Karte zu iterieren:

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

5. Schlussfolgerung

In diesem kurzen Tutorial haben wir gelernt, wie man eine Karte mit Groovys jeder und jeder WithIndex- Methode und einer For-In- Schleife iteriert .

Der Beispielcode ist über GitHub verfügbar.