在自定义的类里面必须要重写equals()方法,因为contains()方法内部调用的就是equals方法
contains
public boolean contains(Object o)
如果此列表中包含指定的元素,则返回 true。更确切地讲,当且仅当此列表包含至少一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,则返回 true。
public static void main(String[] args)
{
ArrayList list = new ArrayList();
list.add(new Student("张三", 23));
list.add(new Student("张三", 23));
list.add(new Student("李四", 24));
list.add(new Student("李四", 24));
list.add(new Student("王五", 25));
list.add(new Student("王五", 25));
//创建一个新的集合
ArrayList newList = new ArrayList();
//获取去掉重复的元素的集合
newList = getArrayList(list);
System.out.println(newList);
}
//去除重复元素
public static ArrayList getArrayList(ArrayList list)
{
ArrayList newList = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext())
{ Object obj = it.next();
if(!newList.contains(obj))
{
newList.add(obj);
}
}
return newList;
}