for(Iterator <String> i = strings.iterator(); i.hasNext(); ) { if (foo(i.next())) i.remove(); }
--but that's not the point. The point is that it --should be possible to remove things from a list --via the for-loop