Iterator:
Using Iterator we can iterate only in forward direction and you cannot add elements while iterating and Here cursor always points to specific index.
Example:
public class Example { public static void main(String[] args) { ArrayList aList = new ArrayList(); aList.add("1"); aList.add("2"); aList.add("3"); aList.add("4"); aList.add("5"); Iterator itr = aList.iterator(); while(itr.hasNext()) System.out.println(itr.next()); } }
ListIterator:
Allows the programmer to traverse the list in either direction, modify the list during iteration, and obtain the iterator’s current position in the list. A ListIterator has no current element; its cursor position always lies between the element that would be returned by a call to previous() and the element that would be returned by a call to next().
Example:
public class sample { public static void main(String[] args) { //create an object of ArrayList ArrayList aList = new ArrayList(); //Add elements to ArrayList object aList.add("1"); aList.add("2"); aList.add("3"); aList.add("4"); aList.add("5"); //Get an object of ListIterator using listIterator() method ListIterator listIterator = aList.listIterator(); System.out.println(" forward direction using ListIterator"); while(listIterator.hasNext()) System.out.println(listIterator.next()); System.out.println("reverse direction using ListIterator"); while(listIterator.hasPrevious()) System.out.println(listIterator.previous()); } } try the above code and get back to me :)
Really nice explantion
Hi,
Can you please explain me with example how can u “modify the list during iteration”(this is what you have mentioned in your above blog)
You can use the alist.add(“xyz”); in loop so that list will be updated during iteration…