如何在groovy中生成def(sequence)

如何在groovy中生成def(sequence),groovy,Groovy,我是初学者。我有个问题。 有一个列表[3,2,8,5,44,9]。 如何制作def排序(序列) 我希望结果是[2,3,5,8,9,44]您将希望在groovy中启用排序方法。它有很多有趣的选择 def list = [2, 5, 7, 1, 4, 3].sort() println list 欢迎来到groovy。希望您喜欢。您需要在groovy中启用排序方法。它有很多有趣的选择 def list = [2, 5, 7, 1, 4, 3].sort() println list 欢迎来到gr

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


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

您将希望在groovy中启用排序方法。它有很多有趣的选择

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

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

您需要在groovy中启用排序方法。它有很多有趣的选择

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

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

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方法意味着将返回一个新的已排序集合,而原始集合将保持不变

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方法意味着将返回一个新的已排序集合,而原始集合将保持不变

另一种解决方案是使用树集代替列表

def list=[10,10,1]作为树集

这是输出:1,10


您将得到一个有序且不重复的列表。

另一种解决方案是使用树集代替列表

def list=[10,10,1]作为树集

这是输出:1,10


您将获得一个有序且无重复项的列表。

:鼃)())!我不是这个意思。我需要写一个def。它应该看起来像def-sortMe(sequence){………}:()()())!!我不是这个意思。我需要写一个def。它假设看起来像def sortMe(sequence){………}我被告知它假设使用方法遍历列表。each@Alex如果你有很多你应该遵守的武断规则,你不认为你应该让我们知道它们是什么问题吗,而不是保守秘密,希望我们能找到解决办法?对不起,伙计们:)看来这项任务是一件让人头疼的事:)@Alex可能不是。这可能是学习排序的一个好方法。但是如果你不告诉我们你受到的限制,我们只会告诉你使用
sort
方法。明白!不要再武断了!有人告诉我,假设使用方法遍历列表。each@Alex如果你有很多你应该遵守的武断规则,你不认为你应该让我们知道它们是什么问题吗,而不是保守秘密,希望我们能找到解决办法?对不起,伙计们:)看来这项任务是一件让人头疼的事:)@Alex可能不是。这可能是学习排序的一个好方法。但是如果你不告诉我们你受到的限制,我们只会告诉你使用
sort
方法。明白!不要再武断了!