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

最近在工作中遇到这么一个问题 就是在处理批量添加的时候的 需要判断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("存在相同元素");
           }

          }


    }

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

 

posted on 2017-08-10 13:01  小尹有个小小梦想  阅读(448)  评论(0)    收藏  举报

导航