一、List
1. list的创建方式
groovy的list是ArrayList.
def list = new ArrayList()
def list2 = [1,2,3,4,5]
2. list的添加方式
list.add(1)
list<<2
def plusList = list+5
list.add(1,1)
3. list的删除
//把下标为2的数据删除
list.remove(2)
//把数据2删除
list.remove((object)2)
//删除数据2
list.removeElement(2)
//-是移除所有的相关元素[2,4]
println list-[2,4]
//编译所有,移除满足条件的元素(基数删除)
list.removeAll{
return it%2!=0
}
3.查找
//找第一个偶数
list.find{
return it%2==0
}
//找所有偶数
list.findAll{
return it%2==0
}
//查找是否满足条件的数据 true
list.any{
return it%2==0
}
//查找是否全部满足条件
list.every{
return it%2==0
}
//查找最大值
list.max{
return it
}
//查找最小值
list.min{
return it
}
### 4.其它功能
//统计个数 ,大于0的个数
list.count{
return it>0
}
//默认排序 从小到大
list.sort()
//从大到小的排序
list.sort(){
def a, def b-> return a==b?0:a<b?1:-1
}
//按个数排序
def list = {"aaa","cc","saasa"}
list.sort{
return it.size()
}
二、Map
1.定义和读取
groovy的map默认是LinkedHashMap
def map = [red:'ff0000',green:'00ff00',blue:'0000ff'] as HashMap
println map['red']
println map.red
println map.getClass()
2. 添加
color.yellow = 'ffff00'
//添加集合对象
color.map = [key1:'a',key2:'b']
3. 删除同list
4.map的遍历
teachers.each{ def key, def value ,int index->
println "index:${index} key:${key} value:${value}"
}
teachers.each{ def teacher,int index ->
println "index:${index} key:${teacher.key} value:${teacher.value}"
}
5.查找同list
//分组查询 ,返回个map,derry的放在group1,其它放在group2
teachers.groupBy{ def teacher ->
return teacher.value.name == 'derry'? 'group1':'group2'
}
6.排序同list
注意:map会返回一个新的map,list是在原有的基础上排序
三、Range
range相当于一个轻量级的list
1.定义和使用
def rang = 1..10
println range[0]
println range.contains(8)
println range.from//起点
println range.to//终点
2. 遍历
rang.each{
println it
}
for(i in rang){
println i
}
3. 其它
//从1到50不包含50
1..<50