如何判断List泛型中是否有相同元素

本文介绍了一种在批量添加操作中检查List泛型中是否存在重复元素的方法。通过将对象转为JSON字符串并利用Set的特性来判断重复项,最后通过比较两个集合的长度来确定是否存在重复。

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

最近在工作中遇到这么一个问题 就是在处理批量添加的时候的 需要判断List泛型中是否有相同元素 是否存在相同的对象 最后找到了一个比较笨的方法跟大家一起分享一下

package util.File;

import com.alibaba.fastjson.JSONObject;
import com.qianmo.qmyj.bean.dto.AgentInfo;

import java.util.*;

public class Test {

    public static void main(String[] args) {
        List<AgentInfo> list = new ArrayList<>();
        AgentInfo agentInfo1 = new AgentInfo();
        agentInfo1.setUserName("张思宁");
        agentInfo1.setUserId("123456");
        agentInfo1.setMoblNo("18329184503");

        AgentInfo agentInfo2 = new AgentInfo();
        agentInfo2.setUserName("张思宁");
        agentInfo2.setUserId("123456");
        agentInfo2.setMoblNo("18329184503");

        AgentInfo agentInfo3 = new AgentInfo();
        agentInfo3.setUserName("王六");
        agentInfo3.setUserId("1234560");
        agentInfo3.setMoblNo("18329184509");

        AgentInfo agentInfo4 = new AgentInfo();
        agentInfo4.setUserName("王六");
        agentInfo4.setUserId("123456");
        agentInfo4.setMoblNo("18329184509");

        list.add(agentInfo1);
        list.add(agentInfo2);
        list.add(agentInfo3);
        list.add(agentInfo4);



        List<String> list1=new ArrayList<>();
        //循环将对象元素转换为 String 类型的 json格式
        for (AgentInfo agentInfo :list){
            String obj = JSONObject.toJSONString(agentInfo);
             list1.add(obj);
            }


        //set唯一
        list1=new ArrayList(new HashSet(list1));

           if(list.size()==list1.size()){
               System.out.println("不存在相同元素");
           }else{
               System.out.println("存在相同元素");
           }

          }


    }

  最后比较两个集合的长度如果相等 则没有重复元素

 

转载于:https://www.cnblogs.com/AnotherEon001/p/7338718.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值