如何在groovy中进行def(序列)

时间:2012-12-01 01:03:45

标签: groovy

我是初学者。我有个问题。 列表[3,2,8,5,44,9]。 如何制作def SortMe(sequence)

我希望结果为[2,3,5,8,9,44]

3 个答案:

答案 0 :(得分:3)

你需要在groovy中Collection上的排序方法。它有很多有趣的选择。

def list = [2, 5, 7, 1, 4, 3].sort()
println list

欢迎来到groovy。希望你喜欢它。

答案 1 :(得分:0)

kingObergers对如何对集合进行排序是正确的......

但是,如果要将其包装在函数中,可以执行以下操作:

Collection sortMe( Collection a ) {
  a.sort( false )
}

def listA =  [3, 2, 8, 5, 44, 9]
def listB = sortMe( listA )

assert listA == [3, 2, 8, 5, 44, 9] // Original is unchanged
assert listB == [2, 3, 5, 8, 9, 44] // Sorted list is returned from sortMe

false传递给sort方法意味着将返回一个新的已排序集合,并且原始Collection将保持不变

答案 2 :(得分:0)

另一种解决方案是使用TreeSet而不是使用列表

def list = [10,10,1] as TreeSet

这是输出:1,10

你得到一份有序的清单,没有重复。