Differences between Iterator and ListIterator in java
Iterator vs ListIterator
1:- Iterator is used for traversing List
and Set
both.
We can use ListIterator to traverse List
only, we cannot traverse Set
using ListIterator.
2:- We can traverse in only forward direction using Iterator.
Using ListIterator, we can traverse a List in both the directions (forward and Backward).
3:- We cannot obtain indexes while using Iterator
We can obtain indexes at any point of time while traversing a list using ListIterator. The methods nextIndex() and previousIndex() are used for this purpose.
4:- We cannot add element to collection while traversing it using Iterator, it throws ConcurrentModificationException when you try to do it.
We can add element at any point of time while traversing a list using ListIterator.
5:- We cannot replace the existing element value when using Iterator.
By using set(E e) method of ListIterator we can replace the last element returned by next() or previous() methods.
6:- Methods of Iterator:
- hasNext()
- next()
- remove()
Methods of ListIterator:
- add(E e)
- hasNext()
- hasPrevious()
- next()
- nextIndex()
- previous()
- previousIndex()
- remove()
- set(E e)
References:
Iterator javadoc
ListIterator javadoc
post a comment