Which one of the following statements about what Iterator.remove requires before it may be called is true?
Answer: A
Correct answer: A call to next must have happened, and remove may be called only once per element.
remove deletes the element most recently returned by next, so there must have been such a call and it must not already have been removed; otherwise IllegalStateException is thrown. Using it is the only safe way to delete during iteration - removing through the collection itself invalidates the iterator and produces ConcurrentModificationException on the next step.
Please log in or register to report this question.