package arrayDemo;
import java.util.ArrayList;
import java.util.ListIterator;
//去除重复元素(自定义对象)
class Student{
String name;
int age;
Student(String name, int age){
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
//覆写equals方法
public boolean equals(Object obj){
Student stu = (Student)obj;
return this.name.equals(stu.name)&&this.age==stu.age;
}
}
public class ArrayObject {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(new Student("zs",11));
list.add(new Student("ls",22));
list.add(new Student("zs",11));
ArrayList newList = getSingleEle(list);
System.out.println(newList);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
static ArrayList getSingleEle(ArrayList list){
//1.创建一个新的集合
ArrayList newList = new ArrayList();
//2.遍历原集合,依次取出集合中的元素
ListIterator it = list.listIterator();
while(it.hasNext()){
//3.每取出一个元素,判断原来的集合中是否包含了这个值
Object obj = it.next();
//4.若不包含,就把该元素加到新集合中
if(!newList.contains(obj)){//调用equals方法,默认比较地址
newList.add(obj);
}
}
return newList;
}
}