Iterator is a one-time utility. Usually you need a new one every time you iterate over a list. However, this is not bad. Iterator have very little state (for an ArrayList , it could just be an int to hold the current index).
If the support list changes between iterator calls, you will get a ConcurrentModificationException from the iterator operation. Adding or removing items should be done using Iterator itself.
source share