Suppose you have a List of 100 elements. Do you want to retrieve all 100 elements using index method...that is not true right.
So iterator will give you fast retrieving of data from List
Main reason is that when you use iterator,you never end up in any NoSuchElementException which usally arises when you use direct index to fetch a element which is not present.Its a safer way to retrive elements.
Well, I guess accessing by index is much faster than using Iterator and secondly, it does not throw NoSuchElementException. It throws IndexOutOfBoundsException. Please do not reply if you are confused.
My question still remains unanswered.