6.3.4 Iterator接口
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,Java专门提供了一个接口Iterator。Iterator接口也是集合中的一员,但它与Collection、Map接口有所不同。Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也称为迭代器。
案例学习 6-3
import java.util.*;
public class Example03{
public static void main(String[] args){
ArrayList list=new ArrayList();//创建ArrayList集合
list.add("李四");//向该集合中添加字符串
list.add("王五");
list.add("赵六");
Iterator it=list.iterator();//获取Iterator对象
while(it.hasNext()){ //判断ArrayList集合中是否存在下一个元素
Object obj=it.next(); //取出ArrayList集合中的元素
System.out.println(obj);
}
}
}
6.3.5 foreach循环
foreach循环是一种更加简洁的for循环,也称增强for循环。foreach循环用于遍历数组或集合中的元素。具体语法格式如下:
for(容器中的元素类型 临时变量:容器变量){
执行语句
}
案例学习 6-5
import java.util.*;
public class Example05{
public static void mian(string[] args){
ArrayList list=new ArrayList ();//创建ArrayList集合
list.add("aaa");//向Arraylist集合中添加字符串元素
list.add("bbb");
list.add("ccc"):
for(Object obj:list){//使用foreach循环遍历ArrayList对象
System.out.println(obj);//取出并打印ArrayList集合中的元素
}
}
}
运行结果→
aaa
bbb
ccc
注意:
foreach虽然书写起来很简洁,但在使用时已存在一定的具象性。当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。下面以一个String类型的数组为例