个性化阅读
专注于IT技术分析

如何在Java中使用Iterator?

“迭代器”是属于集合框架的接口。它使我们能够遍历集合, 访问数据元素并删除集合的数据元素。

java.util包有公共接口迭代器,包含三个方法:

  1. boolean hasNext():如果Iterator有更多要迭代的元素, 则返回true。
  2. Object next():它返回集合中的下一个元素, 直到hasNext()方法返回true为止。如果没有下一个元素, 则此方法将引发” NoSuchElementException”。
  3. void remove():删除集合中的当前元素。如果在调用next()之前调用此函数, 则此方法将引发” IllegalStateException”。
//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();
     }
}

输出如下:

List elements : 
A B C D E

ListIterator

Java中的” ListIterator”是一个迭代器, 它允许用户在两个方向上遍历Collection。它包含以下方法:

  1. void add(Object对象):它将对象插入在next()函数返回的元素之前。
  2. boolean hasNext():如果列表中有下一个元素, 则返回true。
  3. boolean hasPrevious():如果列表具有上一个元素, 则返回true。
  4. Object next():返回列表的下一个元素。如果列表中没有下一个元素, 则抛出” NoSuchElementException”。
  5. Object previous():返回列表的前一个元素。如果没有上一个元素, 则抛出” NoSuchElementException”。
  6. void remove():从列表中删除当前元素。如果在调用next()或previous()之前调用此函数, 则会抛出” IllegalStateException”。
//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();
     }
}

输出如下:

Displaying list elements in forward direction : 
A B C D E 
Displaying list elements in backward direction : 
E D C B A

相关文章:

  • Java中的迭代器
  • Java中的Iterator与Foreach
  • 从Java中的集合中检索元素(For-each, Iterator, ListIterator和EnumerationIterator)

本文由Mehak Narang贡献。

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。

赞(0) 打赏
未经允许不得转载:srcmini » 如何在Java中使用Iterator?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏