我會盡可能地解釋我的問題。Scala;我如何迭代一個列表並遍歷每個迭代中的另一個列表
所以我有一個庫存物品清單,在一個交貨。我希望能夠遍歷此列表,並通過迭代產品列表來查找匹配的產品ID,直到庫存物料清單的產品ID與產品清單匹配,然後遞增產品數量。
所以StockItem類看起來是這樣的:
case class StockItem(val spiId : Int, val pId :Int, val sdId :Int, val quan : Int)
我的產品類看起來是這樣的:
case class Product(val prodId : Int, val name : String, val desc : String, val price : Double, var quantity : Int, val location : String)
我必須找到所有具有特定SPID,該StockItems的方法,它返回一個StockItems列表:
def findAllItemsInSP(sdId: Int): List[StockPurchaseItem] = stockPurchaseItems2.filter(_.sdId == sdId)
我有另一種方法是未完成迭代噸通過此列表並遞增每個產品的數量:
def incrementStock(spID: Int){
val items = StockPurchaseItem.findAllItemsInSP(spID)
for (i <- items){
if(i.pId == products.prodId)
}
}
產品是一組產品對象。很明顯,products.prodId不起作用,因爲我需要引用產品Set中的一個元素,而不是整個集合。我不知道如何在一組產品中找到匹配的產品ID。任何幫助,我會非常感激。
注意:sdId和spId指的是相同的東西。
非常感謝 成龍
謝謝您的回覆。我不希望將數量更新爲1,我希望通過將現有數量與新產品交貨中收到的產品數量相加來獲得新數量。 –
所以你想把它添加到產品?我編輯了我的回覆。 – Simon