\$\begingroup\$
\$\endgroup\$
I have a list of Parcel
objects and am trying to write a closure that picks the parcel object with highest count:
class Parcel {
int id,
int count,
String sender,
String recipient
Parcel(int _id, int _count) {
id = _id
count = _count
}
}
def parcels = [new parcel(1,5), new parcel(2,1), new parcel(3,3), new parcel(4,2), new parcel(5,4) ]
I have tried the below code which works fine:
parcels.sort{it.count}
parcels.reverse().first()
Is there a better way to pick the parcel with the highest count?
Jamal
35.2k13 gold badges134 silver badges238 bronze badges
asked Dec 10, 2014 at 19:17
1 Answer 1
\$\begingroup\$
\$\endgroup\$
You could obviously try parcels.max{it.count}
.
max
and other useful operations on Groovy Collections are explained in the following article:
https://groovy.codeplex.com/wikipage?title=Collections
default