将两个arraylists与多个set字段进行比较

0 java

我试图比较两个ArrayLists,但我似乎无法让它工作.

假设:

我的名为List 1的主arrayList通过以下方式获取其值:

 ArrayList<xTypeClass> List1 = new ArrayList<xTypeClass>(); 
 xTypeClass tmp = new xTypeCLass();
  tmp.setName(name);
  tmp.setaddress(address);
  tmp.setPhone(phone);
  tmp.setMonth(mo);
 ..etc
 List1.add(tmp);
Run Code Online (Sandbox Code Playgroud)

现在我有另一个list2,它包含确切的类型格式,但具有不同的值.我想将List2与1进行比较,看看List2中哪些不存在于List1中并将其添加到List2.我有问题使用双循环来绕过两个列表找到哪些存在,哪些不存在.有人能指出我正确的方向吗?如果您需要更多信息,请在下方发表评论

Den*_*eng 5

假设你已经为xTypeClass实现了equals()和hashCode(),你有什么理由不能这样做:

for (xTypeClass x : List1) {
    if (!List2.contains(x)) {
        List2.add(x);
    }
}
Run Code Online (Sandbox Code Playgroud)