方法一:集合倒序遍历,完美解决
for (int i = serviceProviderCities.size() - 1; i >= 0; i--) {
LockServiceProviderArea providerArea = serviceProviderCities.get(i);
Integer sid = providerArea.getSid();
if (disableMap.get(sid) != null) {
serviceProviderCities.remove(providerArea);
}
}
方法二:使用Iterator方法,不会出现集合长度导致遍历缺失问题
Iterator<LockServiceProviderArea> iter = serviceProviderCities.iterator();
while(iter.hasNext()){
LockServiceProviderArea providerArea = iter.next();
Integer sid = providerArea.getSid();
if (disableMap.get(sid) != null) {
serviceProviderCities.remove(providerArea);
}
}