java.util.ConcurrentModificationException

  for (User user : list) {
            if(dup != null && dup.size() > 0){
                for (User user1 : dup) {
                    if(user1.getAge() == user.getAge() && user1.getName().equals(user.getName())){
                        mul.add(user);
                        break;
                    }else{
                        dup.add(user);
                    }
                }
            }else{
                dup.add(user);
            }
        }
        问题:循环之后就失败了,抛出异常

问题是由于你在遍历的时候对list进行了修改,所以就会出现这个错误。

if (dup != null) {// 放在最外层吧,dup如果为null,执行add应该会出错吧?
            int temp = dup.size();
            for (User user : list) {
                if (temp > 0) {
                    for (int i =0;i<temp;i++) {
                        User user1 = dup.get(i);
                        if (user1.getAge() == user.getAge()
                                && user1.getName().equals(user.getName())) {
                            mul.add(user);
                            break;
                        } else {
                            dup.add(user);
                            temp++;
                        }
                    }
                } else {
                    dup.add(user);
                    temp++;
                }
            }
        }

foreach 时不能改变list中的值,
将你用 foreach 的地方
换成普通的_for_循环就可以了_for(int i = 0; i < list.size(); i++) {}_
里面的东西可以不变