JAVA中的List接口存放的元素是可以重复的,在这个我重写对象里面的equals()方法,让集合里存放的对象不能重复
首先建一个类,在里面的main()方法中实现
list1中存放的是可以重复对象的集合,在新建了一个newlist,里面存放不能重复对象的集合
在迭代器中实现判断和存对象到newlist中。
新建的一个Man类,用于封装属性和重写equals()方法,实现两个对象的属性一样时,即判定为同一个对象
Man类中重写了toString()方法,便于直接用对象的引用就可以输出对象的属性
下面是Man类中重写的equals()方法,首先判断这个obj对象是不是Man类的实例,然后再判断两个对象的属性是否一样。
在中间我输出了做比较的两个对象的属性。
最上面的main()方法中,用的ArrayList类中的contain()方法的源码如下:
可以发现是在contain()方法中调用了对象的equals()方法。
所以最后得出newlist中存放的对象是不可以重复的。结果图如下: