0
点赞
收藏
分享

微信扫一扫

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

_karen 2022-05-03 阅读 122

文章目录


一、使用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这个比较重要,下次就总结这个知识点了。

举报

相关推荐

0 条评论