leo-y
5/6/2018 - 6:43 PM

iteratorremove.java

iterator

List<String> arguments = …; for (Iterator<String> it = arguments.iterator(); it.hasNext(); ) 
{ String s = it.next(); if (s.equals("Charlie")) it.remove(); }

//the below, this is wrong:
List<String> arguments = …; for (Iterator<String> it = arguments.iterator(); it.hasNext(); ) { String s = it.next();
if (s.equals("Charlie")) arguments.remove("Charlie"); // runtime error }