Creating a new iterator object every time I traverse the list
If I create an Iterator object on any List, do I have to create a new iterator object every time I traverse the list? Or do new items added or removed from the list automatically get accounted for by the previously created i开发者_开发问答terator?
Iterator
is a one-use utility. You generally need a new one each time you iterate through the list. However, that's not a bad thing; Iterator
s have very little state (for an ArrayList
, it might be just an int to hold the current index).
If the backing list is modified in between iterator calls, you will get a ConcurrentModificationException
from the iterator operation. Adding or removing items must be done using the Iterator
itself.
精彩评论