List去重

本文介绍两种List去重的方法:利用HashSet实现快速去重及通过覆盖equals方法进行对象级去重。前者适用于简单类型去重,后者则适用于复杂对象类型的去重。

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

关于List去重先记录下list去重的两种方式!
(1)HashSet

// 声明并且初始化HashSet
private HashSet mManageSet;
mManageSet = new HashSet();
//数据处理
DataAry mDataAry = (DataAry) data.getResult();
                        if(mListData!=null&&mListData.size()>0)  //若集合不为空
                            mListData.clear();  //清空集合里面的数据
                        if(mDataAry !=null && mDataAry .size()>0){
                            for(ManagermentBean mBean:mManagementAry){
                            //将数据存放之HashSet中,对比否是包含,不包含就加进list
                                if(!mManageSet.contains(mBean.getUser_id())){
                                    mManageSet.add(mBean.getUser_id());
                                    mListData.add(mBean);
                                }
                                  }
                            mAdapter.notifyDataSetChanged();  //刷新适配器
                        }

(2):对比对象
在实体类中对比对象

 @Override
    public boolean equals(Object obj) {
        if(obj instanceof ManagementBean){
            return ((ManagementBean) obj).getUser_id() == this.getUser_id();
        }
        return false;
    }

然后在相对应的activity中(用对象去做对比)

ManagementAry mBackgroundAry = (ManagementAry) data.getResult();
               if(mBackgroundAry!=null && mBackgroundAry.size()>0){
                    for (ManagementBean bean : mBackgroundAry){
                    //比较bean,若bean是存在于这个集合中的
                             if(!listData.contains(bean)){  
                                    listData.add(bean);
                                }
                            }
                            mAdapter.notifyDataSetChanged();//刷新数据
                        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值