knorv
knorv

Reputation: 50117

Groovy: How do I sort an ArrayList of String:s in length-of-string order?

How do I sort an ArrayList of String's in length-of-string order in Groovy?

Code:

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

There are certainly more than one way to do it - so I'll grant the answer to the person who provides the most elegant solution.

Upvotes: 14

Views: 22973

Answers (2)

Seth Gilbert
Seth Gilbert

Reputation: 1

If in the accepted solution { -it.size() } doesn't work for descending order, you could try this: { -1 * it.size() }

Upvotes: 0

Michael Borgwardt
Michael Borgwardt

Reputation: 346260

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

To get descending order

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

Upvotes: 36

Related Questions