Krivalar Tutorials 
Krivalar Tutorials

Java - Iterator


<<Previous

Next >>





Iterator

Java Iterator is used to traverse through the elements of a Java collection in forward direction. Java collection includes List, Queue, Set and similar other data structures. Iterator has methods to remove element as well.


	boolean	hasNext()
	E	next()
	default void remove()

ListIterator

It is used to iterate through a List in either direction. It has methods to add element and remove element.

List Iterator has the following methods:

	void	add(E e) - To add elements to a list
	boolean	hasNext() - returns true if the list has a next element
	boolean	hasPrevious() - returns true if the list has a previous element
	E	next() - returns the next element
	E	previous() - returns the previous element
	void	remove() - removes the current element
	void	set(E e) - sets the current element with the value provided

Example



import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;

	public class ExampleListIterator {
			public static void main(String a[]){
				Integer array[] = new Integer[]{10,5,6,3,91,200};
				List arrayList = new ArrayList<>(Arrays.asList(array));
				ListIterator itr= arrayList.listIterator();
				System.out.println("Using boolean  hasNext()");
				System.out.println("and E next()");

				while(itr.hasNext()){
					System.out.print(itr.next()+ " ");

				}

				System.out.println("\n");
				System.out.println("Using boolean hasPrevious()");
				System.out.println("and E previous()");
				while(itr.hasPrevious()){
					System.out.print(itr.previous()+ " ");

				}
				System.out.println("\n");
			}

		}

Output

Using boolean  hasNext()
and E next()
10 5 6 3 91 200

Using boolean hasPrevious()
and E previous()
200 91 3 6 5 10

Example 2



	import java.util.ArrayList;
	import java.util.Arrays;
	import java.util.List;
	import java.util.ListIterator;

	public class ExampleListIteratorAddRemove {
			public static void main(String a[]){
				Integer array[] = new Integer[]{10,5,6,3,91,200};
				List arrayList = new ArrayList<>(Arrays.asList(array));
				ListIterator itr= arrayList.listIterator();

				int index=0;

				System.out.println("Using void  add(E e)");
				while(itr.hasNext()){
					index++;
					itr.next();
					if(index==3)
					{
						itr.add(5000);
					}

				}
				System.out.println("After Adding an Element 5000 to the list...");

				System.out.println(arrayList);

				itr= arrayList.listIterator();
				System.out.println("\n");
				System.out.println("Using void remove()");
				index=0;
				while(itr.hasNext()){
					index++;
					itr.next();
					if(index==2)
					{
						itr.remove();//removes 5
					}

				}
				System.out.println("After removing the element at index 2 in the list...");

				System.out.println(arrayList);


			}

		}

Output


Using void  add(E e)
After Adding an Element 5000 to the list...
[10, 5, 6, 5000, 3, 91, 200]

Using void remove()
After removing the element at index 2 in the list...
[10, 6, 5000, 3, 91, 200]


<<Previous

Next >>





















Searching using Binary Search Tree