我会尽可能地解释我的问题。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