我是初学者。我有个问题。有一个列表 [3, 2, 8, 5, 44, 9]。我该怎么做def SortMe(sequence)
?
我希望结果是 [2, 3, 5, 8, 9, 44]
我是初学者。我有个问题。有一个列表 [3, 2, 8, 5, 44, 9]。我该怎么做def SortMe(sequence)
?
我希望结果是 [2, 3, 5, 8, 9, 44]
您将需要groovy中Collection上的排序方法。它有很多有趣的选择。
def list = [2, 5, 7, 1, 4, 3].sort()
println list
欢迎来到 groovy。希望你喜欢。
另一种解决方案是使用 TreeSet 而不是使用列表
def list = [10,10,1] 作为 TreeSet
这是输出:1,10
你得到一个有序且没有重复的列表。
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 将保持不变