-1

可能重复:
Java ArrayList 删除重复项

从以下课程和列表中,我需要一个列表,其中名称和日期相同,其他应该被删除。

从下面的列表中,我只需要前两条记录,因为名称和日期相同,第三条应该被删除。有人能帮帮我吗。

public class TestBean {

    public String name;
    public Date birthDate;
    public String city;
}


List<TestBean> list = new ArrayList<TestBean>();

TestBean testBean=new TestBean();
testBean.setName("test");
testBean.setBirthDate(new SimpleDateFormat("mm/dd/yyyy").parse("01/01/1981"));
testBean.setCity("chicago");

TestBean testBean1=new TestBean();
testBean.setName("test");
testBean.setBirthDate(new SimpleDateFormat("mm/dd/yyyy").parse("01/01/1981"));
testBean.setCity("newyork");

TestBean testBean2=new TestBean();

testBean.setName("test");
testBean.setBirthDate(new SimpleDateFormat("mm/dd/yyyy").parse("01/01/1982"));
testBean.setCity("chicago");
list.add(testBean);
list.add(testBean1);
list.add(testBean2);
4

1 回答 1

2

覆盖 TestBean 类的 equals()(基于姓名和出生日期)和 hashCode(),然后将所有对象添加到Set数据结构。如果您正确覆盖了 equals(),则设置过滤器重复对象。

于 2013-01-09T04:31:36.707 回答