如何对list集合对象去重

本文介绍了一种对包含多个属性组成的对象的List集合进行去重的方法。通过重写对象的hashCode和equals方法,利用Set集合的特性,再转换回List集合,实现了对象级别的去重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道,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集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值