Interface which extends the Iterator interface.
Especially good for iterating through a List, and it is implementing ArrayList, LinkedList, Vector or Stack.
Provides two-directional movements through the elements.
The List interface (and all its implementing classes) provides a listIterator() method to access its functionality.
EXAMPLE FOR ALL AVAILABLE METHODS:
In case of LinkedList, the ListIterator will handle the reference fields within the node.
Some of these methods throw exception in case of using them at the edges of the List e.g. calling previous() on the 1st element.