Question: what is fail-fast iterator in Java?
Answer: fail-fast term is about Java collections and
theirs iteration and modification, which are not synchronized.
For example, you have some Java collection which implements Iterable interface and to loop through it create an iterator.
The iterator returned by
this class's iterator method is named fail-fast if: the
set is modified at any time after the iterator is created, in any way except
through the iterator's own remove method, the Iterator throws a
So, in case of concurrent modification, the iterator fails quickly and
cleanly, rather than risking arbitrary, non-deterministic behavior at an
undetermined time in the future.
Note that the fail-fast behavior of an iterator cannot be guaranteed as it
is. Fail-fast iterators throw ConcurrentModificationException on a
best-effort basis. It is impossible to make any hard guarantees in the presence
of unsynchronized concurrent modification.
Do not write a program that depends
on this exception for its correctness: the fail-fast behavior of iterators
should be used only to detect bugs.
comments? | | Score: 4