//list 凡是Java中list有的方法 它都有 不再赘述
//def list = new ArrayList()//java的定义方式
def list = [1, 2, 4, 5]//这个也是ArrayList
def array = [1, 2, 3] as int[]//这是数组,不是list
int[] array2 = [1, 2, 3, 4, 5]//数组
/**
* list排序
*/
def sortIntList = [1, -2, 3, 7, -4, 0]
sortIntList.sort()
println sortIntList //[-4, -2, 0, 1, 3, 7]
//通过闭包 自定义排序规则,按绝对值大小排序
sortIntList.sort { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? -1 : 1 }
println sortIntList//[0, 1, -2, 3, -4, 7]
//按照对象属性(如长度)排序
def sortStringList = ["abc", "z", "Hello", "groovy", "java"]
sortStringList.sort { return it.size() }
println sortStringList//[z, abc, java, Hello, groovy]
//find findAll every any 不再赘述
//找最值,当然可以传入闭包
sortIntList.min()
sortIntList.max()
sortIntList.min { return Math.abs(it) }
//统计 符合某个条件的数量
def num = sortStringList.count { return it.contains("a") }
println num//2
//Map value-可以同时任意类型 Key可以是单引号不可变字符串,也可以不加单引号
def colors = [red: 'ff0000', green: '00ff00', blue: '0000ff']
//索引方式
println colors.red
println colors['green']
//添加元素
colors.yellow = 'ffff00'
//添加一个Map作为value
colors.complex = [a: 'aliyun', b: 'baidu']
println colors.toMapString()
//打印结果:[red:ff0000, green:00ff00, blue:0000ff, yellow:ffff00, complex:[a:aliyun, b:baidu]]
//Key 建议Number或者final String
//默认定义的是LinkedHashMap 如果不想用默认,可以声明def改为HashMap,或as in HashMap
//each 遍历 可以直接遍历Key value
//colors.eachWithIndex{ Entry<String, String> entry, int i -> } 必须最后一个参数 是index
//groupBy 分组
//范围
def range = 1..10
range.from
range.to
range.contains(2)
rang[3]
for (i in range) {
}
//range 是list的子类 所有list方法 它都有
//用于switch 判断学生成绩
def getGrade(int number) {
def result
switch (number) {
case 0..<60:
result = "不及格"
break
case 60..<70:
result = "及格"
break
case 70..<80:
result = "良好"
break
case 80..<100:
result = "优秀"
break
default:
result = "-"
break
}
//不用写return,直接result也能返回,但是为了规范建议写上return
return result
}
Gradle:2.groovy常用的三种数据结构
最新推荐文章于 2023-07-09 15:30:10 发布