What is the difference between java.util.Iterator and java.util.ListIterator

Iterator : Enables you to traverse through a collection in the forward direction only, for obtaining or removing elements

ListIterator : extends Iterator, and allows bidirectional traversal of list and also allows the modification of elements.