我们知道,List集合是一个元素有序,可重复的集合,集合中每个元素都有对应的顺序索引,我们通过索引进行取值赋值;
那么,当list集合中的元素为多个属性组成的对象时,如何对list集合进行去重;
因为对象是在内存中开辟一块区域进行存储,每个对象的值哪怕相同,但只要是你新new出来的,代表的也是不同的对象,所以我们首先需要在对象中重写hashcode and equars方法,使属性值相同的对象指向同一个地址;然后将list集合的元素放入Set集合中,因为Set集合是不可重复的,这里我们用Set的addAll(list)方法,这样我们就已经将list集合中的对象元素进行了去重,接着我们需要将Set集合重新转换成list集合,使用List list=new ArrayList(set)将set集合转换成list集合;这样一来,我们就完成了对元素是对象的list集合进行去重的实现。
简单来说就是下面三步:
1、在对象中重写hashcode and equars方法
2、使用Set的addAll(list);方法去重
3、使用List list=new ArrayList(set)将set集合转换成list集合