这会导致不可预测的行为吗?
 ArrayList<X> x = new ArrayList<>();
 //x.add(new X())...
f:
for(int i = 0; i < x.size() -1;)
{
      X y = x.get(i);
      for(int j = i + 1; j < x.size();)
       {
          if(a) {
           x.remove(j);
           continue;
          }
          if(b) {
           x.remove(i);
           continue f;
          }
          j++;
        }
       i++;
}