我需要從列表中找到最低股票價格。這是我的代碼,但因爲.min(myList)在if語句之外,myList無法找到。如果我把它放在if語句中,它會多次打印相同的東西。有誰知道如何解決這個問題?如何使用java在新列表中打印最小值?
public SalesOrderLine checkStock(PurchaseOrderLine poLine){
for (Iterator i = stock.stockItems.iterator(); i.hasNext();) {
StockItem stockItem = (StockItem)i.next();
if ((poLine.product == stockItem.product) && (poLine.quantity <= stockItem.quantity))
{
System.out.println(name +" : Found a Match for " + poLine.product + " with Offer Price: " + stockItem.price);
List myList=new ArrayList();
myList.add(stockItem.price);
}
Object minimumPrice=Collections.min(myList);
System.out.println(minimumPrice);
}
幹嘛還要創建一個ArrayList結束後?如果你想獲得單一的最小值,那麼得到一個最小值 - 不需要創建一個新的列表。 –
在您的for循環中,存儲您遇到的'stockItem.price'的最小值 –
您使用的是哪個版本的Java?這看起來很古老。 – 4castle