【发布时间】:2014-02-17 16:53:18
【问题描述】:
我将一组用户放入一个列表中,然后我将另一组一组用户添加到一个单独的列表中。我正在尝试将第一个对象列表与第二个列表进行比较,并创建一个唯一对象的新列表。
// List creation (new, old, unique)
List<User> listNew = new ArrayList<User>();
List<User> listOld = new ArrayList<User>();
List<User> listUnique = new ArrayList<User>();
...
for (User unique : listNew) {
if (!listOld.contains(unique)) {
listUnique.add(unique);
}
}
所以我有这段代码可以做到这一点,但它只是复制了 listNew。我怎样才能将对象相互比较?我的类文件是
public class User {
private String fName;
private String mInitial;
private String lName;
private String age;
private String city;
private String state;
....
【问题讨论】:
-
你重写了 User 类中的 equals 方法吗?
-
只需使用
Set类型而不是列表。集合开始时不能有重复项。