java Iterator 的用法

java.util package has public interface Iterator and contains three methods:

  1. boolean hasNext(): It returns true if Iterator has more element to iterate.
  2. Object next(): It returns the next element in the collection until the hasNext()method return true. This method throws ‘NoSuchElementException’ if there is no next element.
  3. void remove(): It removes the current element in the collection. This method throws ‘IllegalStateException’ if this function is called before next( ) is invoked.
// Java code to illustrate the use of iterator
import java.io.*;
import java.util.*;
 
class Test {
     public static void main(String[] args)
     {
         ArrayList<String> list = new ArrayList<String>();
 
         list.add( "A" );
         list.add( "B" );
         list.add( "C" );
         list.add( "D" );
         list.add( "E" );
 
         // Iterator to traverse the list
         Iterator iterator = list.iterator();
 
         System.out.println( "List elements : " );
 
         while (iterator.hasNext())
             System.out.print(iterator.next() + " " );
 
         System.out.println();
     }
}

ListIterator

‘ListIterator’ in Java is an Iterator which allows users to traverse Collection in both direction. It contains the following methods:

  1. void add(Object object): It inserts object immediately before the element that is returned by the next( ) function.
  2. boolean hasNext( ): It returns true if the list has a next element.
  3. boolean hasPrevious( ): It returns true if the list has a previous element.
  4. Object next( ): It returns the next element of the list. It throws ‘NoSuchElementException’ if there is no next element in the list.
  5. Object previous( ): It returns the previous element of the list. It throws ‘NoSuchElementException’ if there is no previous element.
  6. void remove( ): It removes the current element from the list. It throws ‘IllegalStateException’ if this function is called before next( ) or previous( ) is invoked.
// Java code to illustrate the use of ListIterator
import java.io.*;
import java.util.*;
 
class Test {
     public static void main(String[] args)
     {
         ArrayList<String> list = new ArrayList<String>();
 
         list.add( "A" );
         list.add( "B" );
         list.add( "C" );
         list.add( "D" );
         list.add( "E" );
 
         // ListIterator to traverse the list
         ListIterator iterator = list.listIterator();
 
         // Traversing the list in forward direction
         System.out.println( "Displaying list elements in forward direction : " );
 
         while (iterator.hasNext())
             System.out.print(iterator.next() + " " );
 
         System.out.println();
 
         // Traversing the list in backward direction
         System.out.println( "Displaying list elements in backward direction : " );
 
         while (iterator.hasPrevious())
             System.out.print(iterator.previous() + " " );
 
         System.out.println();
     }
}

 

详见https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html

// Java code to illustrate the use of ListIterator
import java.io.*;
import java.util.*;
 
class Test {
     public static void main(String[] args)
     {
         ArrayList<String> list = new ArrayList<String>();
 
         list.add( "A" );
         list.add( "B" );
         list.add( "C" );
         list.add( "D" );
         list.add( "E" );
 
         // ListIterator to traverse the list
         ListIterator iterator = list.listIterator();
 
         // Traversing the list in forward direction
         System.out.println( "Displaying list elements in forward direction : " );
 
         while (iterator.hasNext())
             System.out.print(iterator.next() + " " );
 
         System.out.println();
 
         // Traversing the list in backward direction
         System.out.println( "Displaying list elements in backward direction : " );
 
         while (iterator.hasPrevious())
             System.out.print(iterator.previous() + " " );
 
         System.out.println();
     }
}

 

猜你喜欢

转载自www.cnblogs.com/jiml/p/9357021.html