在开发中,遇见两个arryList<object>对象之间的比较时,可以用下面的方法;
有两个list:list1,list2
list1 = new ArrayList<User>();
list2= new ArrayList<User>();
list1 = new ArrayList<User>();
list1 = User.getAllUsers(context);for(int i = 0;i<list1.size();i++){
user = (User) list1.get(i);
if (list.contains(user))
list1.remove(i--);//不知道为什么减减
}
Log.i("list1", "list.size"+list1.size());
前提:user对象要重写equest()方法,不然没有效果。
@Override
public boolean equals(Object o) {
if (o == null) {
return false;
}
if (!(o instanceof _User)) {
return false;
}
return ((_User)o)._id == _id;
}