一酱固、列表操作
1鞋真、列表的定義
列表list是object的有序集合,list中的元素的數(shù)據(jù)類型可以不一樣
def list = [1,2,3,4] //groovy
def list =new ArrayList() //java
2硬耍、數(shù)組的定義方式
數(shù)組是一個同一類型數(shù)據(jù)的有限集合
def array = [1,2,3] as int[] //groovy
int[] array1 = [1,2,3,4] //java
3、列表的增刪改查(數(shù)組與列表操作方法相同)
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]
④使用+運算添加元素,產(chǎn)生一個新的列表
def list = [1]
def list_new = list + 8
3.2 List的刪除操作
①remove经柴,根據(jù)索引刪除指定元素
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(返回所有結(jié)果坯认,保存為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的格式轉(zhuǎn)換
①字符串轉(zhuǎn)列表(不包含[{}])
def str = " [1,2,-3,4,-5] "
def str2list = Eval.me(str) //若數(shù)據(jù)類型改變氓涣,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]
②列表轉(zhuǎn)字符串
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
}