黑马程序员技术交流社区
标题:
大神速来!
[打印本页]
作者:
奔来的黑马
时间:
2015-1-7 00:00
标题:
大神速来!
当往ArrayList里面存入元素要求不重复时,比如存入学生对象,当同名同姓时
视为同一个人,则不往里面存储。则定义学生对象时,需复写equals方法
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
return false;
Student stu = (Student)obj;
return this.name.equals(stu.name)&&this.age==stu.age;
}
则往ArrayList集合通过add存入学生对象时,集合底层自己会调用学生类的equals方法,
判断重复学生则不存入。
ArrayList不是可以存储重复元素吗?要求不重复时该怎么做呢?
作者:
黄宝宝
时间:
2015-1-7 18:52
ArrayList是可以存储重复元素的,因为底层数据结构是数组,一般都这样玩,如果非要不允许它加入重复元素,那就循环+判断后添加。
作者:
xiaoyi
时间:
2015-1-7 19:32
然后你还需要写一个方法,里面用用contains方法判断,它会自动调用你复写的equals方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2