def map = [name:"Gromit", likes:"cheese", id:1234]
I would like to access map in such a way that I can get the key
something like the output should be
map.keys returns array of string. basically i just want to get the keys
output:
name likes id
If you wanted to do it that way, iterate over map. keySet() and the rest will work as you expected. It should work if you use s. key & s.
Maps are generally used for storing key-value pairs in programming languages. You have two options to declare a map in groovy. First option is, define an empty map and put key-value pairs after. Second option is declaring map with default values.
public class LazyMap extends AbstractMap<String,Object> This maps only builds once you ask for a key for the first time. It is designed to not incur the overhead of creating a map unless needed.
try map.keySet()
and if you want an array:
map.keySet() as String[]; // thx @tim_yates
Or, more groovy-ish:
map.each{ key, value -> print key; }
Warning: In Jenkins, the groovy-ish example is subtly broken, as it depends on an iterator. Iterators aren't safe in Jenkins Pipeline code unless wrapped in a @NonCPS function.
def map = [name:"Gromit", likes:"cheese", id:1234] println map*.key
In groovy * is use for iterate all
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With