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 iterator?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With