LinkedList<Student> link = new LinkedList<Student>();
Student s1 = new Student("张三", 26);
Student s2 = new Student("王五", 27);
Student s3 = new Student("李四", 28);
Student s4 = new Student("李四", 29);
Student s5 = new Student("张三", 26);
Student s6 = new Student("张三", 25);
link.add(s1);
link.add(s2);
link.add(s3);
link.add(s4);
link.add(s5);
link.add(s6);
LinkedList<Student> newLink = new LinkedList<Student>();
Iterator<Student> it = link.iterator();
while (it.hasNext()) {
Student s = it.next();
if (!newLink.contains(s)) {
newLink.add(s);
}
}
for (int x = 0; x < newLink.size(); x++) {
Student s = newLink.get(x);
System.out.println(s.getName()+"---"+s.getAge());
}
}
这里讲contains()方法的底层依赖equals()方法,如果在Student类中没有重写equals()方法,输出结果就不会剔除相同对象。这里听的不是很清楚,什么是contains()方法的底层依赖equals()方法?求大神详解?
|
|