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循环倒着遍历集合,删除匹配的元素。这样不会有遗漏。
。。。(多种方式,欢迎思考)
|
|