java中的ArrayList 使得集合中的对象不重复

时间:2023-03-08 22:03:31

JAVA中的List接口存放的元素是可以重复的,在这个我重写对象里面的equals()方法,让集合里存放的对象不能重复

首先建一个类,在里面的main()方法中实现

java中的ArrayList 使得集合中的对象不重复

list1中存放的是可以重复对象的集合,在新建了一个newlist,里面存放不能重复对象的集合

在迭代器中实现判断和存对象到newlist中。

新建的一个Man类,用于封装属性和重写equals()方法,实现两个对象的属性一样时,即判定为同一个对象

java中的ArrayList 使得集合中的对象不重复

Man类中重写了toString()方法,便于直接用对象的引用就可以输出对象的属性

下面是Man类中重写的equals()方法,首先判断这个obj对象是不是Man类的实例,然后再判断两个对象的属性是否一样。

在中间我输出了做比较的两个对象的属性。

java中的ArrayList 使得集合中的对象不重复

最上面的main()方法中,用的ArrayList类中的contain()方法的源码如下:

java中的ArrayList 使得集合中的对象不重复

java中的ArrayList 使得集合中的对象不重复

可以发现是在contain()方法中调用了对象的equals()方法。

所以最后得出newlist中存放的对象是不可以重复的。结果图如下:

java中的ArrayList 使得集合中的对象不重复