有没有一种简单的方法从对象数组列表中获取一个字段的最大值?例如,对于以下对象,我希望能够获取Value字段的最高值。
我想要获取max value for ValuePairs.mValue的示例数组列表。
ArrayList<ValuePairs> ourValues = new ArrayList<>();
outValues.add(new ValuePairs("descr1", 20.00));
outValues.add(new ValuePairs("descr2", 40.00));
outValues.add(new ValuePairs("descr3", 50.00));
创建存储在ArrayList中的对象的类:
public class ValuePairs {
public String mDescr;
public double mValue;
public ValuePairs(String strDescr, double dValue) {
this.mDescr = strDescr;
this.mValue = dValue;
}
}
我想要获取mValue的最大值,类似这样(我知道下面的写法是错误的):
double dMax = Collections.max(ourValues.dValue);
dMax 应该是 50.00。
.max()
匹配的 所有ValuePairs
? - Nato BoramList<ValuePairs> maxValues = ourValues.stream().filter(v -> v.mValue == maxValue.mValue).collect(Collectors.toList());
- M. Schena