合并不带双副本的对象列表,并保留Java中所有相同对象的所有字段值
我有两个物体的排列列表,比如合并不带双副本的对象列表,并保留Java中所有相同对象的所有字段值,java,arraylist,comparator,icomparable,Java,Arraylist,Comparator,Icomparable,我有两个物体的排列列表,比如 ArrayList<Record> dataSetOne; ArrayList<Record> dataSetTwo; 所以,在第一个ArrayList(即dataSetOne)中,我将获得与家庭地址相关的记录数据详细信息 public class Record{ id = emp01; name = andy; HomeAdrress = mexico; } public class Record{ id = emp
ArrayList<Record> dataSetOne;
ArrayList<Record> dataSetTwo;
所以,在第一个ArrayList(即dataSetOne)中,我将获得与家庭地址相关的记录数据详细信息
public class Record{
id = emp01;
name = andy;
HomeAdrress = mexico;
}
public class Record{
id = emp01;
name = andy;
officeAdrress = california;
}
在第二个ArrayList中,即DataSetwo,我将获得与办公室地址相关的记录数据详细信息
public class Record{
id = emp01;
name = andy;
HomeAdrress = mexico;
}
public class Record{
id = emp01;
name = andy;
officeAdrress = california;
}
因此,我需要合并这两个arraylist,并将id作为主要id的记录合并,然后获得家庭和办公室地址,如下所示
public class Record{
id = emp01;
name = andy;
HomeAdrress = mexico;
officeAdrress = california;
}
谢谢导入java.util.*;
/*在此处定义您的不完整记录错误*/
类不完全RecordException扩展异常{
不完全记录异常(){
超级(“您的记录不完整,重要数据丢失!”);
}
}
/* */
课堂记录{
公共int id;
公共字符串名称;
公共字符串地址;
公职人员;
}
公共类应用程序{
公共静态void main(字符串[]args){
ArrayList arrList1=新的ArrayList();
ArrayList arrList2=新的ArrayList();
/*用元素填充上面的列表*/
ArrayList merged=新的ArrayList();
对于(int i=0;i
记录类别必须为:
class Record{
public int id;
public String name;
public String homeAddress;
public String officeAdrress;
}
主要功能:
public static void main(String[] args) {
ArrayList<Record> merged = new ArrayList<>();
Record r;
for(int i = 0; i < dataSetOne.size(); i++) {
for(int j = 0; j < dataSetTwo.size(); j++){
if(dataSetOne.get(i).id == dataSetTwo.get(j).id){
r = new Record();
r.id = dataSetOne.get(i).id;
r.name=dataSetOne.get(i).name;
r.homeAddress = dataSetOne.get(i).homeAddress;
r.officeAdrress = dataSetTwo.get(j).officeAdrress;
merged.add(r);
}
}
}
}
publicstaticvoidmain(字符串[]args){
ArrayList merged=新的ArrayList();
记录r;
对于(int i=0;i
好的,现在您是否尝试了一些方法来实现您的目标?因此,它不是一个编码服务,我们可以帮助您,但不能完全为您完成它。我们可以迭代dataSetOne
,并创建一个键入者id
。然后遍历datasetwo
,并使用Java8中添加的方法。