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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、去除ArrayList中重复字符串元素方式
       
                ["aa", "bb", "cc", "aa", "aa", "dd", "aa"]
       
                定义新集合的方式:
                        定义一个新的ArrayList集合;
                        遍历旧集合,获取到每一个元素,将其添加到新集合,
                        在添加之前做判断,判断新集合是否已经包含了该元素,如果不包含,才添加。
       
       
        2、去除ArrayList中重复自定义对象元素
                思路与上面相同。
                注意事项:contains方法底层依赖元素所属类的equals方法,所以去重写equals方法,实现具体属性值的比较。
               
       
        补充练习1:
                去除ArrayList中所有的指定元素。
                ArrayList al = new ArrayList();
                al.add("aaa");
                al.add("aaa");
                al.add("aaa");
                al.add("bbb");
                al.add("ccc");
                al.add("aaa");
                al.add("aaa");
                al.add("ccc");
               
                需求:去除所有的字符串“aaa”
               
                实现方式1:
                        列表迭代器遍历集合,并使用列表迭代器删除匹配的元素
                实现方式2:
                        用普通for循环正向遍历集合,一旦删除元素,循环索引--,保证元素全部能遍历到。
                实现方式3:
                        用普通for循环倒着遍历集合,删除匹配的元素。这样不会有遗漏。
                。。。(多种方式,欢迎思考)
       

1 个回复

倒序浏览
用HasSet去重就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马