首页 > 编程知识 正文

collection的remove方法

时间:2023-05-03 16:05:45 阅读:184374 作者:3430

主要是通过CollectionUtils.removeAll来实现两个集合的比较,判断增量数据是什么,缩量数据是什么。CollectionUtils.removeAll在比较两个集合的时候不会对集合产生影响,而集合的removeAll操作却会产生影响。

MyAlarmLinkmanGroupPO myAlarmLinkmanGroupPO = myAlarmLinkmanGroupConverter.saveDtoToPo(myAlarmLinkmanGroupSaveDTO); // 更新联系人组 mapper.updateMyAlarmLinkmanGroupById(myAlarmLinkmanGroupPO); // 如果联系人为空则返回 List<Integer> paramsLinkmanIds = myAlarmLinkmanGroupSaveDTO.getLinkmanIds(); if (CollectionUtils.isEmpty(paramsLinkmanIds)) { return true; } // 获取原组下联系人id集合 MyAlarmLinkmanGroupInfoDTO myAlarmLinkmanGroupInfoDTO = mapper.queryMyAlarmLinkmanGroupById(myAlarmLinkmanGroupSaveDTO.getId()); ArrayList<Integer> originalLinkmanIds = new ArrayList<>(); if (CollectionUtils.isNotEmpty(myAlarmLinkmanGroupInfoDTO.getLinkmanList())) { for (MyAlarmLinkmanListDTO listDTO : myAlarmLinkmanGroupInfoDTO.getLinkmanList()) { originalLinkmanIds.add(listDTO.getId()); } } // 获取增量ids Collection<Integer> waitAddLinkmanIds = CollectionUtils.removeAll(paramsLinkmanIds, originalLinkmanIds); // 维护表关联关系 for (Integer paramsLinkmanId : waitAddLinkmanIds) { MyAlarmLinkmanGroupRelPO relPO = new MyAlarmLinkmanGroupRelPO(); relPO.setLinkmanId(paramsLinkmanId).setLinkmanGroupId(myAlarmLinkmanGroupSaveDTO.getId()) .setCrtTime(new Date()).setStatus(RecordStatus.NORMAL.getId()).setUpdTime(new Date()); myAlarmLinkmanGroupRelMapper.insertMyAlarmLinkmanGroupRel(relPO); } // 获取删除ids if (CollectionUtils.isEmpty(originalLinkmanIds)) { return true; } Collection<Integer> waitDeleteLinkmanIds = CollectionUtils.removeAll(originalLinkmanIds, paramsLinkmanIds); for (Integer originalLinkmanId : waitDeleteLinkmanIds) { // 获取关联表主键id Integer id = myAlarmLinkmanGroupRelMapper.queryMyAlarmLinkmanGroupRelIdByLinkmanIdAndGroupId(originalLinkmanId , myAlarmLinkmanGroupSaveDTO.getId()); MyAlarmLinkmanGroupRelPO relPO = new MyAlarmLinkmanGroupRelPO(); relPO.setId(id).setStatus(RecordStatus.DELETED.getId()); myAlarmLinkmanGroupRelMapper.updateMyAlarmLinkmanGroupRelById(relPO); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。