我有一个包含自定义对象的ArrayList。我想根据自定义对象的名称属性从数组中删除重复项。我尝试使用Set person = new TreeSet(); 完成此操作,但它不起作用。我想这是因为集合比较的是地址或其他与名称属性不相关的东西。所以我现在尝试使用迭代器,但它也没有删除重复项。以下是我的代码:
ArrayList<Person> people = new ArrayList<Person>();
Iterator<Person> iterator = people.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
if (person.getName().equals(iterator.next().getName())) {
iterator.remove();
}
}
for (Person person : people) {
System.out.println(person.getName());
}
我看到 ArrayList 中有重复的内容,但它并没有被修改。我需要一些帮助。谢谢!