需求:新数据的添加,需要将已经存在的数据去掉,在进行添加操作
//获取数据库中已经存在的
List<PageData> existComIds=(List<PageData>)dao.findForList("TerminalEquipmentCommandRoleMapper.queryListByCondition",pd);
//准备添加的数据
List<String> comIdList=new ArrayList<String>();
for(String id:comdIds){
comIdList.add(id);
}
// List<String> comIdList= Arrays.asList(comdIds);//使用该方法会导致后面取交集时报错UnsupportedOperationException
List<String> existComIdList=new ArrayList<String>();
if(null!=existComIds && existComIds.size()>0){
for(PageData pageData:existComIds){
String existComId=pageData.getString("TERMINALEQUIPMENTCOMMANDSET_TERMINALEQUIPMENTCOMMANDSETID");
existComIdList.add(existComId);
}
//定义一个集合保存将要添加的全部命令id
List<String> allComIdList=new ArrayList<String>();
//这种赋值方法,原集合的改变不会影响
allComIdList.addAll(comIdList);
//取两个集合的交集 comIdList为两个集合的交集
comIdList.retainAll(existComIdList);
//去掉两个集合的交集,就为需要添加的指令Ids
allComIdList.removeAll(comIdList);
List获取交,并,补集
最新推荐文章于 2024-09-19 17:05:29 发布