位置:首页 > Java > Iterator遍历集合的方法与使用技巧

Iterator遍历集合的方法与使用技巧

时间:2026-08-18  |  作者:318050  |  阅读:0

Iterator接口的作用

Iterator接口是Ja va集合框架中的一员,但它与Collection、Map接口有所不同。

Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。

Iterator遍历集合示例

接下来通过一个案例来学习如何使用Iterator迭代集合中的元素,如文件1所示。

文件1 Example03.ja va

 1    import ja va.util.ArrayList;
 2    import ja va.util.Iterator;
 3    public class Example03 {
 4        public static void main(String[] args) {
 5             // 创建ArrayList集合
 6            ArrayList list = new ArrayList();   
 7             // 向该集合中添加字符串
 8            list.add("data_1");                    
 9            list.add("data_2");
 10            list.add("data_3");
 11             // 获取Iterator对象
 12            Iterator iterator = list.iterator(); 
 13                // 判断集合中是否存在下一个元素
 14            while (iterator.hasNext()) {         
 15                Object obj = iterator.next();   // 取出ArrayList集合中的元素
 16                System.out.println(obj);
 17            }
 18        }
 19    }

运行结果如图1所示。

Iterator遍历集合的方法与使用技巧_wishdown.com

图1 运行结果

Iterator遍历集合的完整流程

文件1展示的,其实就是Iterator遍历集合的完整流程。

  • 先调用ArrayList集合的iterator()方法,拿到迭代器对象。
  • 再通过hashNext()方法,判断集合里是否还有下一个元素。
  • 如果有,就继续调用next()方法把当前元素取出来。
  • 如果没有,就说明已经走到集合末尾,遍历也就自然结束了。

还要特别注意一点:调用next()方法取元素时,前提一定是这个元素确实存在,否则就会抛出NoSuchElementException异常。

Iterator的工作原理

Iterator迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素。

为了让初学者能更好地理解迭代器的工作原理,接下来通过一个图例来演示Iterator对象迭代元素的过程,如图2所示。

Iterator遍历集合的方法与使用技巧_wishdown.com

图2 遍历元素过程图

遍历过程说明

从图2可以看得更直观一些:在调用Iterator的next()方法之前,迭代器的索引其实停在第一个元素之前,这时它并不指向任何元素。

第一次调用next()方法后,索引会向后移动一位,定位到第一个元素,同时把这个元素返回。

再次调用next()方法,索引就会继续后移,指向第二个元素,并返回该元素。

后面的过程也是一样,按这个节奏依次往后遍历,直到hasNext()方法返回false,这就说明已经走到集合末尾,遍历也随之结束。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多