【发布时间】:2019-05-17 01:23:23
【问题描述】:
我有一个对象 PersonInfo 的列表,如果 PersonInfo 对象中的某些字段与另一个 PersonInfo 对象相同,我会说这两个对象是重复的。 示例:
case class PersonInfo(
firstName: Instant,
lastName: Instant,
ssn: String,
email: String
)
如果两个 PersonInfo 对象具有相同的 'ssn',则它们是重复记录。 我的列表如下所示:
val list = List(pi1, pi2, pi3)
pi1 is: PersonInfo("foo", "foo", "123-456-789", "foo@f.com")
pi2 is: PersonInfo("bar", "bar", "456-123-789", "bar@b.com")
pi3 is: PersonInfo("gee", "gee", "123-456-789", "gee@g.org)
由于 pi1 和 pi3 重复,我如何过滤列表以仅返回 (pi1 和 pi3) 的列表:
list.filter(f => pi1.ssn == pi3.ssn) => ???
我希望它返回 List(pi1, pi2)
【问题讨论】:
-
您可能会在这里找到答案:stackoverflow.com/questions/3912753/…
-
您可以在您的案例类上覆盖
equals方法并使用distinct。 -
我认为这部分问题
only return list of (pi1 and pi3)与expect it to return List(pi1, pi2)冲突
标签: scala