小编典典

如何从番石榴列表中获取max()元素

java

假设我们有一个项目集合:

class Item {
    public String title;
    public int price;
}

List<Item> list = getListOfItems();

我想从Guava库(该列表为Ordering,我想)中从列表中获得最高价格的商品。我的意思类似于此Groovy代码:

list.max{it.price}

我怎么做?有效率吗?


阅读 245

收藏
2020-09-24

共1个答案

小编典典

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);

它的效率是最高的:遍历列表中的项目,并返回价格最高的第一个Item:O(n)。

2020-09-24