position: fixed; top: auto !important; margin-left: 112px;

What is Iterator?

Java Iterator is used to iterate through all the elements in the List. An Iterator is used to go through each element of Collections in Java easily. Let's continue with the example we followed in ArrayList tutorial.

The Methods Declared by Iterator

Sr.No. Method & Description
1

boolean hasNext( )

Returns true if there are more elements. Otherwise, returns false.

2

Object next( )

Returns the next element. Throws NoSuchElementException if there is not a next element.

3

void remove( )

Removes the current element. Throws IllegalStateException if an attempt is made to call remove( ) that is not preceded by a call to next( ).

Example

In this example, we created two Strings array named things & more things. Two Lists named list1 & list2. Task this program will perform is firstly it prints all the list1 elements then it checks list2 whether list2 contains list1 elements and if yes remove them from list1 and print all final list1 using Iterator.

import java.util.*;
public class JavaCollectionDemo {
  
public static void main(String[] args)
{

//String array
String[] things = {"eggs" , "hats" , "laser" , "pie"};

// Define an empty ArrayList 
List list1 =  new ArrayList();

// Add array items to list1
    for(String x: things)
    {
    list1.add(x);
    }


// Another String array 
String[] morethings = {"eggs" , "hats"};

// Define a second empty ArrayList 
List list2 =  new ArrayList();

// Add array items to list2
    for(String x: morethings)
    {
     list2.add(x);
    }

Print list1 elements 
     for (int i = 0; i<list1.size();i++)
     {
      System.out.printf("%s \t",list1.get(i) );
     }

// Call edit List Function to check whether list1 contains list2 items and if yes remove them from list1.
     editList(list1, list2);
     System.out.println();

// Display Final List1 elements
    for (int i = 0; i<list1.size();i++)
    {
      System.out.printf("%s \t",list1.get(i) );
    }
}


// Function to check whether list1 contains list2 items and if yes remove them from list1.
public static void editList(Collection l1 , Collection l2)
{
 Iterator iter = l1.iterator(); 
 while(iter.hasNext())
 {
   if(l2.contains(iter.next()))
   {
     iter.remove();
     
   }   
 }
}
}

Output

eggs   hats  laser   pie   
laser   pie

editList method : Firstly we created an iterator object iter. We iterated through list1 one by one and checked whether list2 contains the elements of list1 and if yes remove it.

Previous Next Article







codzify.com


Largest collection of up-to-date tutorials to learn programming languages. We are focused on easy learning. Massive collection of interview questions one may need for preparation.

Social Profile


Linkedin
Twitter
Facebook

Copyright 2018. All rights reserved.