前面学习了List集合,这篇来学习Map,也是集合中的一种容器,特点就是键值对形式。这个Map,我在前面介绍方法的时候,写过,参数传入格式就是map.
1.Map的创建和获取key的value
package com.anthony.demo
def employee =[
"name":"Anthony",
"age":"18",
"city":"BeiJing"
]
println employee.name
println employee["name"]
println employee.get('age')
println employee.getAt('age')
如果是空的map,用[:]表示。运行下代码
Anthony
Anthony
18
18
2.添加元素和大小
package com.anthony.demo
def employee =[
"name":"Anthony",
"age":"18",
"city":"BeiJing"
]
println employee.size()
employee.put("tel", "12345678913")
println employee.size()
println employee
运行看看结果
3
4
[name:Anthony, age:18, city:BeiJing, tel:12345678913]
3.包含判断和克隆
判断是否包含某一个key或者value,还有复制一个map的方法
package com.anthony.demo
def employee =[
"name":"Anthony",
"age":"18",
"city":"BeiJing"
]
println employee.containsKey('name')
println employee.containsValue('BeiJing')
println employee.getClass()
def emp2 = employee.clone()
println emp2
true
true
class java.util.LinkedHashMap
[name:Anthony, age:18, city:BeiJing]
4.遍历(java方法)
这篇用java遍历,下一篇来学习下闭包,推荐闭包遍历元素
package com.anthony.demo
import javax.swing.text.StyledEditorKit.ForegroundAction
def employee =[
"name":"Anthony",
"age":"18",
"city":"BeiJing"
]
def entrys = employee.entrySet()
for (e in entrys) {
println e.getKey() + ":" + e.getValue()
}
运行结果
name:Anthony
age:18
city:BeiJing