初窥groovy之集合(2)

    之前总结了groovy中list的基本应用,当然我们也可以通过闭包,进行自定义的扩展。讲到闭包,这个很犀利,我对它理解也不深刻,只是明白它是对象形式存在,并且可以存在任何地方,类似于java中内部类,但又比内部类灵活。

    回到正题,下面通过简单闭包来点初步体验。

    之前总结到,通过list.sort()方法可以把一个集合通过升序排列。现在我需求把这个集合降序排列。当然,你可以先升序,在逆置集合。下面我们尝试下闭包的方法。

def list=[1,5,3,5,2,8,2,213]
println "升序:${list.sort()}"

list.sort{  //通过闭包逆序,'<=>'符号相当于b.compareTo(a)
     a,b->
    b<=>a
}
println "降序:${list}"

结果:    升序:[1, 2, 2, 3, 5, 5, 8, 213]
             降序:[213, 8, 5, 5, 3, 2, 2, 1]

需求2:自定义集合乱序方法

def list5=[1,43,1,3,68,3,5,7,5]
list5.sort{   //打乱数组顺序
    Math.random()
}
println "乱序:${list5}"

结果:   乱序:[43, 1, 1, 3, 3, 7, 68, 5, 5]

当然,我们还可以对list做更多的操作,任何你想的。

 

你可能感兴趣的:(集合,groovy)