我有两个用户定义对象的数组列表。我想删除两者中的公共元素。如果我尝试这样做,我会得到不一致的结果。这是从两个中删除的项目数arrayList是不同的...下面是我使用的代码模板..任何人都可以帮助我..?
`
ArrayList<UserObject> userList1=new ArrayList<UserObject>();
ArrayList<UserObject> userList2=new ArrayList<UserObject>();
//code to initialse values into both userList
ArrayList<UserObject> copyOfUserList1=new ArrayList<UserObject>(userList1);
userList1.removeAll(userList2);
userList2.removeAll(copyOfUserList1);
`
答案 0 :(得分:0)
它正在运作......
ArrayList<String> userList1=new ArrayList<String>();
userList1.add("1");
userList1.add("7");
userList1.add("9");
userList1.add("4");
ArrayList<String> userList2=new ArrayList<String>();
userList2.add("1");
userList2.add("5");
userList2.add("3");
userList2.add("4");
ArrayList<String> copyOfUserList1=new ArrayList<String>(userList1);
userList1.removeAll(userList2);
userList2.removeAll(copyOfUserList1);
System.out.println(userList1);
System.out.println(userList2);
output:
[7, 9]
[5, 3]
答案 1 :(得分:0)
我解决了这个问题;我已经覆盖了equals方法,问题是我在equals方法中使用了contains,当调用和被调用对象发生变化时会产生不一致的结果。