Loop through Map in Groovy?

后端 未结 4 406
余生分开走
余生分开走 2021-01-30 02:11

I have a very simple task I am trying to do in Groovy but cannot seem to get it to work. I am just trying to loop through a map object in groovy and print out the key and value

相关标签:
4条回答
  • 2021-01-30 02:19

    Another option:

    def map = ['a':1, 'b':2, 'c':3]
    map.each{
      println it.key +" "+ it.value
    }
    
    0 讨论(0)
  • 2021-01-30 02:30

    Alternatively you could use a for loop as shown in the Groovy Docs:

    def map = ['a':1, 'b':2, 'c':3]
    for ( e in map ) {
        print "key = ${e.key}, value = ${e.value}"
    }
    
    /*
    Result:
    key = a, value = 1
    key = b, value = 2
    key = c, value = 3
    */
    

    One benefit of using a for loop as opposed to an each closure is easier debugging, as you cannot hit a break point inside an each closure (when using Netbeans).

    0 讨论(0)
  • 2021-01-30 02:32

    Quite simple with a closure:

    def map = [
               'iPhone':'iWebOS',
               'Android':'2.3.3',
               'Nokia':'Symbian',
               'Windows':'WM8'
               ]
    
    map.each{ k, v -> println "${k}:${v}" }
    
    0 讨论(0)
  • 2021-01-30 02:44

    When using the for loop, the value of s is a Map.Entry element, meaning that you can get the key from s.key and the value from s.value

    0 讨论(0)
提交回复
热议问题