Let's say we have a Collection of Items:
class Item { public String title; public int price; } List<Item> list = getListOfItems();
I would like to get an Item with a maximum price out of that list with Guava library (with Ordering, I presume). I mean something similar to this Groovy code:
list.max{it.price}
How do I do that? How efficient is it?
Ordering<Item> o = new Ordering<Item>() { @Override public int compare(Item left, Item right) { return Ints.compare(left.price, right.price); } }; return o.max(list);
It's as efficient as it can be: it iterates through the items of the list, and returns the first of the Items having the maximum price: O(n).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With