/* A:案例演示
* 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
* B:注意事项
* 重写equals()方法的*/
//contains判断是否包含对象 remove删除对象 底层依赖的都是equals方法
ArrayList list =new ArrayList();
list.add(new Person("李四",23));
list.add(new Person("李四",23));
list.add(new Person("王五",23));
list.add(new Person("王五",23));
list.add(new Person("李四",26));
list.add(new Person("王五",28));
list.add(new Person("李四",28));
//ArrayList a =getSingle(list);
//System.out.println(a);
list.remove(new Person("李四",23));
System.out.println(list);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newlist =new ArrayList();
Iterator s =list.iterator();
while (s.hasNext()) {
Object a =s.next();
if (!newlist.contains(a)) {
newlist.add(a);
}
}
return newlist;
}
* 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
* B:注意事项
* 重写equals()方法的*/
//contains判断是否包含对象 remove删除对象 底层依赖的都是equals方法
ArrayList list =new ArrayList();
list.add(new Person("李四",23));
list.add(new Person("李四",23));
list.add(new Person("王五",23));
list.add(new Person("王五",23));
list.add(new Person("李四",26));
list.add(new Person("王五",28));
list.add(new Person("李四",28));
//ArrayList a =getSingle(list);
//System.out.println(a);
list.remove(new Person("李四",23));
System.out.println(list);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newlist =new ArrayList();
Iterator s =list.iterator();
while (s.hasNext()) {
Object a =s.next();
if (!newlist.contains(a)) {
newlist.add(a);
}
}
return newlist;
}
本文介绍如何通过重写equals方法并在ArrayList中使用contains和remove操作来去除自定义对象的重复值。示例代码展示了如何实现这一过程。

被折叠的 条评论
为什么被折叠?



