在groovy中,可以使用sort()
方法来对列表进行排序。该方法会按照列表元素的自然顺序进行排序。
以下是一个示例代码:
def list = [5, 2, 7, 1, 9, 3]
list.sort()
println(list)
输出结果为:[1, 2, 3, 5, 7, 9]
除了使用sort()
方法,还可以使用sort()
方法的变体来实现自定义排序。例如,可以使用闭包来定义自定义排序规则,如下所示:
def list = [5, 2, 7, 1, 9, 3]
list.sort { a, b -> b <=> a }
println(list)
输出结果为:[9, 7, 5, 3, 2, 1]
在上述代码中,通过闭包{ a, b -> b <=> a }
来定义了降序排序规则。
对于一个复杂的对象列表,可以通过在闭包中指定对象的属性来进行排序。例如,假设有一个对象列表,每个对象都有一个名为value
的属性,可以使用以下代码对该列表按照value
属性进行排序:
class MyObject {
def value
MyObject(def value) {
this.value = value
}
}
def list = [new MyObject(5), new MyObject(2), new MyObject(7)]
list.sort { obj -> obj.value }
println(list)
输出结果根据value
属性的值进行排序。
总结起来,对groovy列表进行正确排序的方法是使用sort()
方法,并根据需要选择是否使用闭包进行自定义排序。
领取专属 10元无门槛券
手把手带您无忧上云