public Bid getHighestBid() {
double max = Double.NEGATIVE_INFINITY;
Bid maxBid = null;
for (Bid bid : bids) {
double bidValue = bidValue.getBidValue();
if (bidValue > max) {
max = bidValue;
maxBid = bid;
}
}
return maxBid;
}
Примечания:
Возможно, допустимы отрицательные значения, даже если это ограничено в конструкторе.Строго говоря, все может быть NaN
.
double max = 0.0;
Каждая ставка представляет собой ставку, а не значение ставки.
for(Bid bidValue :bids) {
Просто удерживайте объект максимальной ставки и его значение.(Вы можете получить значение каждый раз, но выглядит чище, если вы этого не сделаете.)
Потоковая версия выглядит примерно так:
return bids.stream()
.max(Comparator.comparingDouble(Bid::getBidValue)).orElse(null);
(Как всегда, у меня не так многокак скомпилировал этот код).