首页 > 学院 > 开发设计 > 正文

Groovy集合Map

2019-11-08 18:40:06
字体:
来源:转载
供稿:网友

Groovy集合Map

1、Map初始化,使用[]操作符。
person = ["Mike": "ShangHai", "Lily" : "BeiJing", "Jack" : "ShangHai"]PRintln person.getClass().name // java.util.LinkedHashMap2、[]和.操作符获取Map中的元素。
println person["Mike"] // ShangHaiprintln person.Lily // BeiJingprintln person['Lili'] // null3、each方法实现迭代,既可以使用一个参数entry,也可以使用两个参数name,city。
person.each {entry ->	println "$entry.key live in $entry.value"}
person.each {name, city ->	println "$name live in $city"}返回Mike live in ShangHaiLily live in BeiJingJack live in ShangHai4、collect方法返回一个集合。
println person.collect { name, city -> name } // [Mike, Lily, Jack]5、查找方法find和findAll,find返回第一个,findAll返回全部。
person = ["Mike": "ShangHai", "Lily" : "BeiJing", "Jack" : "ShangHai"]selected = person.find {name, city ->    city == "ShangHai"}println selected // Mike=ShangHaiselected = person.findAll {name, city ->    city == "ShangHai"}println selected // [Mike:ShangHai, Jack:ShangHai]6、groupBy分组。
groups = person.groupBy { it.value} println groups // [ShangHai:[Mike:ShangHai, Jack:ShangHai], BeiJing:[Lily:BeiJing]]groups.each{ city, persons ->	println city	for (p in persons) {		println "$p.key live in $p.value"	}}返回

[ShangHai:[Mike:ShangHai, Jack:ShangHai], BeiJing:[Lily:BeiJing]]ShangHaiMike live in ShangHaiJack live in ShangHaiBeiJingLily live in BeiJing


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表