groovy学习之Map

Map声明

def myMap = [a:1, b:2, c:3]
assert myMap.size() == 3
assert myMap['a'] == 1

def emptyMap = [:]
assert emptyMap.size() == 0

def myMap2 = new TreeMap()
myMap2.putAll(myMap)
assert myMap2['a'] == 1

 

使用Map操作符

如果get(key,default)被调用时,key没有找到并且缺省值被返回,那么key:default对将被增加到map中

def myMap = [a:1, b:2, c:3]
assert myMap['a'] == 1
assert myMap.a == 1
assert myMap.get('a') == 1

assert myMap['d'] == null
assert myMap.d == null
assert myMap.get('d') == null

assert myMap.get('d', 0) == 0
assert myMap['d'] == 0
assert myMap.d == 0

myMap.d = 1
assert myMap['d'] == 1
myMap['d'] = 2
assert myMap.d == 2

 

keySet方法返回一个key的set集合,set是一个像list,但不包括重复的元素,并且集合中的元素没有固定的顺序;values方法返回map的值(value)的无序列表;entrySet方法可以将map转换为一个集合,这个方法返回一个实体的集合,在集合中的每一个实体都可以访问到key属性和value属性。

def myMap = [a:1, b:2, c:3]
def map2 = [b:2, a:1, c:3]
assert myMap == map2
assert myMap.isEmpty() == false
assert myMap.containsKey('a')
assert myMap.containsValue(1)

assert myMap.keySet() == toSet(['a', 'b', 'c'])
assert toSet(myMap.values()) == toSet([1, 2, 3])
assert myMap.entrySet() instanceof Collection

assert myMap.any{entry -> entry.value > 2}
myMap.every{entry -> entry.key < 'd'}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值