Gradle:2.groovy常用的三种数据结构


//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) {

}
//rangelist的子类 所有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
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值