最近在工作中遇到这么一个问题 就是在处理批量添加的时候的 需要判断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("存在相同元素");
}
}
}
最后比较两个集合的长度如果相等 则没有重复元素