概述
首先申明下,本文为笔者学习《Groovy 程序设计》的笔记,并加入笔者自己的理解和归纳总结。
1. 列表集合List
List
初始化,直接调用[]
来定义。
lst = [1, 2, 3, 4, 5, 6]
println lst.getClass().name // java.util.ArrayList
[]
操作符获取List
中的元素,index
可以是正数,也可以是负数。
println lst[1] // 2
println lst[-1] // 6
..
表示连续
println lst[1..4] // [2, 3, 4, 5]
println lst[-1..-4] // [6, 5, 4, 3]
each()
方法实现迭代
total = 0
lst.each { total += it }
println total // 21
collect()
方法返回一个集合
println lst.collect { it * it } // [1, 4, 9, 16, 25, 36]
查找方法find()
和findAll()
,结果是符合条件的值。而findIndexOf()
返回index
。
println lst.find { it == 3 } // 3
println lst.findAll { it > 3 } // [4, 5, 6]
println lst.findIndexOf { it == 3 } // 2
sum()
方法求和
println lst.sum() // 21
join()
方法连接元素
println lst.join(',') // 1,2,3,4,5,6
<<
表示添加元素。
lst = []
lst << "Hello"
lst << "World!"
println lst // [Hello, World!]
-
表示删除元素。
lst = ["Hello", "World!", "Welcome", "to", "BeiJing"]
println lst - ["Hello", "to"] // [World!, Welcome, BeiJing]
flatten()
方法
lst = []
lst << ["Hello", "World!"]
lst << "Welcome"
lst << "to"
lst << "BeiJing"
println lst // [[Hello, World!], Welcome, to, BeiJing]
println lst.flatten() // [Hello, World!, Welcome, to, BeiJing]
在List
每个元素上操作
lst = ["Hello", "World!", "Welcome", "to", "BeiJing"]
println lst*.size() // [5, 6, 7, 2, 7]
2. 字典集合Map
Map
初始化
person = ["Mike": "ShangHai", "Lily" : "BeiJing", "Jack" : "ShangHai"]
println person.getClass().name // java.util.LinkedHashMap
[]
和.
操作符获取Map
中的元素。
println person["Mike"] // ShangHai
println person.Lily // BeiJing
println person['Lili'] // null
each()
方法实现迭代
person.each { entry ->
println "$entry.key live in $entry.value"
}
person.each { name, city ->
println "$name live in $city"
}
返回
Mike live in ShangHai
Lily live in BeiJing
Jack live in ShangHai
collect()
方法返回一个集合
println person.collect { name, city -> name } // [Mike, Lily, Jack]
查找方法find()
和findAll()
selected = person.find { name, city ->
city == "ShangHai"
}
println selected // Mike=ShangHai
selected = person.findAll { name, city ->
city == "ShangHai"
}
println selected // [Mike:ShangHai, Jack:ShangHai]
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]]
ShangHai
Mike live in ShangHai
Jack live in ShangHai
BeiJing
Lily live in BeiJing
最后
以上就是淡然钻石为你收集整理的Android Groovy(五) 集合1. 列表集合List2. 字典集合Map的全部内容,希望文章能够帮你解决Android Groovy(五) 集合1. 列表集合List2. 字典集合Map所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复