The List interface provides a special iterator, called a ListIterator, that allows
element insertion and replacement, and bidirectional access in addition to the
normal operations that the Iterator interface provides. A method is provided to
obtain a list iterator that starts at a specified position in the list.
The List interface provides two methods to search for a specified object. From a
performance standpoint, these methods should be used with caution. In many
implementations they will perform costly linear searches.
The List interface provides two methods to efficiently insert and remove multiple
elements at an arbitrary point in the