> 文档中心 > JAVA 如何使用Iterator、foreach遍历集合元素 [案例+代码+总结]

JAVA 如何使用Iterator、foreach遍历集合元素 [案例+代码+总结]


文章目录

  • 一、Iterator遍历
  • 二、foreach遍历
  • 总结

一、使用Iterator遍历集合元素

        1.案例描述

                练习目标

                       掌握 Iterator 迭代器的使用

                需求分析

                      在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK 专门提供了一个接口 Iterator。为了使初学者熟悉 Iterator 迭代器的使用,本案例将演示如何使用 Iterator 迭代器遍历集 合中的元素。

                设计思路(实现原理)

                        1) 编写一个类 Example05

                        2) 在类中定义一个 List 集合,并向集合中添加数据

                        3) 通过调用 List 集合的 iterator()方法获得迭代器对象

                        4) 在 while 循环条件中使用 hashNext()方法判断集合中是否存在下一个元素,如果存在,则调用 next()方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。

        2.案例实现

                定义 Example05代码如下

package JHClass;import java.util.*;public class Example05 {public static void main(String[] args) {List list = new ArrayList();list.add("abc1");//向集合中添加元素list.add("abc2");list.add("abc3");list.add("abc4");Iterator it = list.iterator(); //获取迭代器对象while (it.hasNext()) {  //判断是否还有元素Object obj = it.next();    //取出元素System.out.println(obj);}}}

                运行结果

                ​​​​​​​                

        3.案例总结

                1、需要注意的是,在通过 next()方法获取元素时,必须保证要获取的元素存在,否则,会抛出 NoSuchElementException 异常。

                2、Iterator 迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素,下图演示了 Iterator 对象迭代元素的过程。

                

二、使用foreach遍历集合元素

        1.案例描述

                练习目标

                      掌握使用 foreach循环遍历集合和数组

                需求分析

                    虽然 Iterator 可以用来遍历集合中的元素,但写法上比较繁琐,为了简化书写,从 JDK5.0 开 始,提供了 foreach 循环。foreach 循环用于遍历数组或集合中的元素。为了让初学者能熟悉 foreach 循环的使用,本案例将演示如何用 foreach 循环遍历数组和集合中的元素。

                设计思路(实现原理)

                       1) 编写一个类 Example06

                        2) 在该类中定义一个 List 集合,向集合中添加四个元素

                        3) 用 foreach 循环遍历集合中的元素

                        4) 在类中定义一个数组 arr,静态初始化数组 int[] arr = {3,2,6};

                        5) 用 foreach 循环遍历 arr 中的元素

        2.案例实现

                Example06代码如下

package JHClass;import java.util.*;public class Example06 {public static void main(String[] args) {// 创建list集合List list = new ArrayList();list.add("sv");list.add("lv");list.add("mv");list.add("tv");System.out.println("遍历集合中的元素:");for (Object obj : list) {//foreach循环遍历集合中的元素System.out.println(obj);}// 定义数组int[] arr = { 3, 2, 6 };System.out.println("遍历数组中的元素:");for (int x : arr) {//foreach循环遍历数组中的元素System.out.println(x);}}}

                运行结果如下

        ​​​​​​​        ​​​​​​​        

        3.案例总结

                1、通过案例可以看出,foreach 循环在遍历集合时语法非常简洁,没有循环条件,也没有迭代语句, 所有这些工作都交给虚拟机去执行了。foreach 循环的次数是由容器中元素的个数决定的,每次循环时, foreach 中都通过变量将当前循环的元素记住,从而将集合中的元素分别打印出来。

                2、使用 foreach 循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。


 

总结

        这里就是Iterator、foreach遍历集合元素的总结内容,一般来说foreach循环是我们常用到的遍历集合的方式。TreeSet和HashSet这个比较重要,下次就总结这个知识点了。