根据A的字段从列表[A]中设置[A]

时间:2014-08-25 11:09:14

标签: scala

我有一个班级:

class Product {

    val productID = ...
    val weight = ...
    val size = ....

     .....[more fields]....

}

我有一个List [Product]多次包含相同的产品。如何使用productID将列表转换为Set [Product]作为' unique'值,以便每个产品只包含一次?

感谢

1 个答案:

答案 0 :(得分:1)

有一种标准的方法:

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))