2009-04-08 15 views
11

ArrayListStringをGroovyで文字列の長さ順にソートするにはどうすればよいですか?Groovy:StringのArrayListをソートするにはどうすればよいですか?

コード:

def words = ['groovy', 'is', 'cool'] 
// your code goes here: 
// code that sorts words in ascending length-of-word order 
assert words == ['is', 'cool', 'groovy'] 

あり、それを行うための複数の方法は確かにある - ので、私は最もエレガントなソリューションを提供した人に答えを与えるでしょう。

答えて

28
words = words.sort { it.size() } 

ため

words = words.sort { -it.size() } 
+1

を降順取得するにはこれがあることを恥だ - でも、2013年に - いない公式のグルーヴィーなドキュメント(少なくとも、私はこれを見つけたことがありません)の一部。 – Sliq

+0

@Panique:あなたは正確に何を見つけると思いますか?ソートメソッドはAPIドキュメントにあり、残りはクロージャの仕組みを理解するだけです。 –

+0

@MichaelBorgwardt私はちょうど '-it.size()'で、その小さなマイナスのために数時間、日、週、年、そして何世紀も探しました。前にそれを見たことはありません。それは基本的なものなので、良い文書はそのような情報を与えるべきです。 – Sliq

関連する問題