У меня есть ArrayList. В этом массиве будут дубликаты объектов. Дубликат находится в поле «firstId». Там будет еще одно поле,
но это не будет использоваться для сравнения равенства объектов. Когда я найду дубликат, мне нужно объединить информацию из обоих и заполнить другой объект тремя полями.
Это то, что я хотел бы сделать
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, так и от объекта hashset, сопоставляя каждый из них и пытаясь создать третий объект. Но есть Есть несколько ошибок, и это делает мою программу очень медленной. Есть лучшее решение для этого?