【发布时间】:2012-03-12 21:27:45
【问题描述】:
我有一个 ArrayList。它将在该数组列表中有重复的对象。副本位于“firstId”字段中。会有另一个领域, 但这不会用于比较对象相等性。找到重复项后,我需要将两者的信息结合起来,并用 3 个字段填充不同的对象。
这就是我想做的事
ClassA
{
private string firstId;
private String secondId;
//equals() and hashcode() override code for firstId;
}
ClassB
{
private string firstId;
private String secondId;
private string thirdID;
}
Class A cls1A = new ClassA();
Class A cls2A = new ClassA();
ClassB clsB = new ClassB();
if(cls1A.equals(cls2A))
{
clsB.setFirstId(cls1A.getFirstId());
clsB.setSecondId(cls1A.getSecondId());
clsB.setThirdId(cls2A.getSecondID());
}
我已经编写了很多代码来识别重复项(基本上是尝试将其添加到哈希集中,然后再次从 arraylist 和哈希集对象中获取它,匹配每个对象并尝试创建第三个对象。但是有很少有错误,这也让我的程序很慢。有没有更好的解决方案?
【问题讨论】:
标签: arraylist duplicates pojo