原代码
List<Student> list = studentService.findBySpecialty(model.getSpecialty().getSpid());
for(Student student : list){
Set<Replygroup> set = student.getReplygroups();
if(set.size() != 0){
boolean flag = true;
Iterator<Replygroup> iterator = set.iterator();
while(iterator.hasNext()){
if(groupType.equals(iterator.next().getRgType())){
flag = false;
//当在这儿删掉数据,然后到for那儿会直接跳出
list.remove(student);
break;
}
}
}
}
修改如下
List<Student> list = studentService.findBySpecialty(model.getSpecialty().getSpid());
List<Student> listRemove = new ArrayList<Student>();
for(Student student : list){
Set<Replygroup> set = student.getReplygroups();
if(set.size() != 0){
Iterator<Replygroup> iterator = set.iterator();
while(iterator.hasNext()){
if(groupType.equals(iterator.next().getRgType())){
listRemove.add(student);
break;
}
}
}
}
list.removeAll(listRemove);