首页 理论教育 迭代器接口概述-Java程序设计 理实一体化教程

迭代器接口概述-Java程序设计 理实一体化教程

时间:2023-11-16 理论教育 版权反馈
【摘要】:Iterator 接口也是Java 集合中的一员,但它与Collection、Map 接口有所不同,Collection 接口与Map 接口主要用于存储元素,而Iterator 主要用于迭代访问(即遍历)Collection中的元素,因此Iterator 对象也被称为迭代器。文件7-7Example07.java执行结果Iterator 迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素。为了让初学者能更好地理解迭代器的工作原理,下面通过图7.3 来演示Iterator 对象迭代元素的过程。

迭代器接口概述-Java程序设计 理实一体化教程

在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK 专门提供了一个接口Iterator。Iterator 接口也是Java 集合中的一员,但它与Collection、Map 接口有所不同,Collection 接口与Map 接口主要用于存储元素,而Iterator 主要用于迭代访问(即遍历)Collection中的元素,因此Iterator 对象也被称为迭代器。

【例7.7】下面通过一个案例来学习如何使用Iterator 迭代集合中的元素,如文件7-7 所示。

文件7-7 Example07.java

执行结果

Iterator 迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素。为了让初学者能更好地理解迭代器的工作原理,下面通过图7.3 来演示Iterator 对象迭代元素的过程。

(www.xing528.com)

图7.3 Iterator 对象迭代元素的过程

图7.3 中,在调用Iterator 的next()方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next()方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回。当再次调用next()方法时,迭代器的索引会指向第二个元素并将该元素返回。依此类推,直到hasNext()方法返回false,表示到达了集合的末尾,终止对元素的遍历。

需要特别说明的是,当通过迭代器获取ArrayList 集合中的元素时,都会将这些元素当作Object 类型来看待,如果想得到特定类型的元素,则需要进行强制类型转换。

【例7.8】下面通过一个案例来演示这种异常。假设在一个集合中存储了学校所有学生的姓名,由于一个名为Annie 的学生中途转学,这时就需要在迭代集合时找出该元素并将其删除,如文件7-8 所示。

文件7-8 Example08.java

执行结果

[光庆,儒明,咏霞,罗粮,科宏,晓洪]

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈