0

私は初心者です。質問があります。リスト[3、2、8、5、44、9]があります。を作るにはどうすればよいdef SortMe(sequence)ですか?

結果を [2, 3, 5, 8, 9, 44] にしたい

4

3 に答える 3

3

groovyのCollectionにsort メソッドが必要です。楽しいオプションがたくさんあります。

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

WordPress へようこそ。気に入っていただければ幸いです。

于 2012-12-01T01:45:50.663 に答える
0

別の解決策は、リストを使用する代わりに TreeSet を使用することです

def list = [10,10,1] as 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

sort メソッドに渡すfalseと、新しいソートされたコレクションが返され、元の Collection は変更されません。

于 2012-12-01T18:04:57.267 に答える