Java相关
1.在数组循环的过程中删除数组中的元素
需要使用Iterator迭代器且使用remove()方法进行删除,不能在普通的for循环中进行,否则会出错。
// 去除决定最终提交的人员
for(Iterator i = lockResList.iterator();i.hasNext();){
Map<String, String> tempMap = (Map<String, String>)i.next();
if(sfzhList.contains(tempMap.get("SFZH"))){
i.remove();
}
}
业务场景:
背景:为某标的匹配具体人员,人员原状态为储备,添加后状态改为锁定,在确定前已添加的人员可以删除或修改,删除时可调用自定义接口修改状态变回储备,但是修改时因为平台的限制无法做到,所以只能在确定提交时进行状态修改。
具体思路:获得所有与该标的绑定的人员的身份证号集合a,获得所有状态为锁定的人员的身份证号集合b,对b进行循环,身份证号在a中的b的元素进行删除,对b中剩下的所有元素修改状态为储备。