【发布时间】:2019-11-21 17:23:12
【问题描述】:
我想从基于多个属性的数组列表中删除重复记录。这是一个示例域对象类:
private String mdl;
private String ndc;
private String gpi;
private String labelName;
private int seqNo;
private String vendorName;
mdl、ndc、gpi 和 seqNo 共同构成一个唯一记录。我想在检查这 4 个属性的数组列表中查找重复项,然后如果列表中已存在具有相同 4 个属性的记录,则从列表中删除该记录。
【问题讨论】:
-
自定义 hashcode 和 equals 方法,然后将对象存储到 Set 中
-
你能举个例子吗?我已经覆盖了 hashcode 和 equals 方法,但是我将如何实现它以仅检查这些特定属性?
-
从可扩展性的角度来看,我想知道提问者是否真的想要
equals&hashCode,或者拥有一个自定义比较器和一个由它支持的集合就足够了。这样,“id-equivalence”可以远离所有字段 equals(这在应用程序的其他部分可能是必要的)。 -
如果您发布覆盖的 equals 和 hashcode 方法的代码也会有所帮助。
-
根据 OP 选择的答案,我认为这不是 stackoverflow.com/questions/2265503/… 的副本。似乎他们想要一种不使用 equals() 和 hashCode() 进行比较的方法
标签: java arrays list arraylist comparator