一、列表操作
1、列表的定义
列表list是object的有序集合,list中的元素的数据类型可以不一样
def list = [1,2,3,4] //groovy
def list =new ArrayList() //java
2、数组的定义方式
数组是一个同一类型数据的有限集合
def array = [1,2,3] as int[] //groovy
int[] array1 = [1,2,3,4] //java
3、列表的增删改查(数组与列表操作方法相同)
3.1 List的添加操作
①add方法
def list = [1]
list.add(2) //[1,2]
②leftshift方法(等价于使用<< ,在列表尾部增加元素)
def list = [1]
list.leftshift(3) //[1,3]
③使用<<运算添加元素
def list = [1]
list << 4 //[1,4]
④使用+运算添加元素,产生一个新的列表
def list = [1]
def list_new = list + 8
3.2 List的删除操作
①remove,根据索引删除指定元素
def LIST = [1,2,-3,4,-5]
LIST.remove(2) //[1,2,4,-5]
②removeAll,借助闭包移除符合条件的元素
LIST.removeAll{return it % 2 == 0}
3.3 List的排序操作
①sort,默认升序
def list = [1,2,-3,4,-5]
list.sort() //[-5,-3,1,2,4]
//等价于
def newlist = list.sort {a,b -> return a.compareTo(b)}
②降序
def list = [1,2,-3,4,-5]
def newlist = list.sort {a,b -> return b.compareTo(a)}
3.4 List的查找操作
①find方法(find找出的是第一个符合条件的元素)
def findList = [1,2,-3,4,-5]
int result = findList.find{return it % 2 == 0}
②findAll(返回所有结果,保存为ArrayList)
def findList = [1,2,-3,4,-5]
ArrayList result = findList.findAll{return it % 2 == 0}
③最大值、最小值
def findList = [1,2,-3,4,-5]
def min = findList.min()
def max = findList.max()
3.5 List的格式转换
①字符串转列表(不包含[{}])
def str = " [1,2,-3,4,-5] "
def str2list = Eval.me(str) //若数据类型改变,Eval容易失败,推荐使用JsonSlurper
//josn反序列化,groovy提供了JsonSlurper
import groovy.json.JsonSlurper
def jsonslurper = new JsonSlurper()
def str2list = jsonslurper.parseText(str)
//tokenize
assert "[a,b,c]".tokenize(',[]') == [a,b,c]
②列表转字符串
def findList = [1,2,-3,4,-5]
String list2str = findList.toString()
//json序列化,groovy提供了JsonOutput
def json = JsonOutput.toJson(findList)
二、范围
1、range的定义方式
def range = 1..10 //表示1~10
2、groovy中的常用方法
①取值
range[0]
②contains方法
range.contains(2) //返回布尔类型
③from方法取范围上边界
range.from
④to方法取范围上边界
range.to
3、遍历
range.each{
println it
}