A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奔来的黑马 中级黑马   /  2015-1-7 00:00  /  1261 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当往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不是可以存储重复元素吗?要求不重复时该怎么做呢?

2 个回复

正序浏览
然后你还需要写一个方法,里面用用contains方法判断,它会自动调用你复写的equals方法
回复 使用道具 举报
ArrayList是可以存储重复元素的,因为底层数据结构是数组,一般都这样玩,如果非要不允许它加入重复元素,那就循环+判断后添加。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马