0

我是初学者。我有个问题。有一个列表 [3, 2, 8, 5, 44, 9]。我该怎么做def SortMe(sequence)

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

4

3 回答 3

3

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

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

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

于 2012-12-01T01:45:50.663 回答
0

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

def list = [10,10,1] 作为 TreeSet

这是输出:1,10

你得到一个有序且没有重复的列表。

于 2012-12-06T23:06:14.663 回答
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 将保持不变

于 2012-12-01T18:04:57.267 回答