Scala 基于列表的字段从列表[A]中设置[A]
我有一门课:Scala 基于列表的字段从列表[A]中设置[A],scala,Scala,我有一门课: class Product { val productID = ... val weight = ... val size = .... .....[more fields].... } 我有一个列表[产品],其中多次包含同一产品。如何使用productID作为“唯一”值将列表转换为集合[Product],以便每个产品只包含一次 谢谢有一种标准的方法可以做到这一点: val a = List(a1, a2...) val as = a.t
class Product {
val productID = ...
val weight = ...
val size = ....
.....[more fields]....
}
我有一个列表[产品],其中多次包含同一产品。如何使用productID作为“唯一”值将列表转换为集合[Product],以便每个产品只包含一次
谢谢有一种标准的方法可以做到这一点:
val a = List(a1, a2...)
val as = a.toSet
如果您的意思是您有相同ID但不同的产品,并且您可以选择任何产品,那么您可以这样做:
val a = List(a1, a2...)
val a_ids = a map(_.productId) toSet
val products = a_ids.flatMap(id => a.find(_.productId == id))
谢谢,但这并不能产生一套独特的产品。我猜在引擎盖下面的每个产品对象都是唯一的,但是它们实际上有相同的产品。我得到了它,请参阅我的更新