Groovy&Grails-技术问答-集合数据类型Map

Map是使用键值对表示,表现形式如下


def a = [key1:value1,key2:value2]

操作Map


def map = ['name':'Bashar','age':26,skills:['java','groovy'],'author':true]
assert map.size() == 4

添加K/V值到Map


map += ['city':'Tucson']
assert map == ['name':'Bashar','age':26,skills:['java','groovy'],'author':true,'city':'Tucson']


<!-- lang: groovy -->
map['state'] = 'AZ'
assert map == ['name':'Bashar','age':26,skills:['java','groovy'],'author':true,'city':'Tucson','state':'AZ']

访问Map中的元素


assert map.city == 'Tucson'
assert map['city'] == 'Tucson'
assert map.get('city') == 'Tucson'
assert map.getAt('city') == 'Tucson'
assert map.skills[0] == 'Java'

Map的键是唯一的


assert ['name':'Bashar','name':'Abdul'] == ['name':'Abdul']

迭代Map


map.each{ it->
    println it.key + ":" + it.value
}

map.eachWithIndex{ it,index ->
    println "item $index - " + it.key + ":" + it.value
}

你可能感兴趣的:(Groovy&Grails-技术问答-集合数据类型Map)