单列集合的遍历需要使用迭代器。
什么是迭代
迭代是Collection集合元素的通用获取方式。在获取元素之前先判断集合中有没有元素,如果有,就把这个元素取出来,重复上述操作,直到取出集合中的所有元素。这种取出元素的方式就成为 迭代。
迭代器
public interface Iterator<E>
:对 collection 进行迭代的迭代器。泛型的实际类型参数需要和所遍历集合的实际类型参数相同。
常用方法
集合遍历演示
使用迭代器:
Collection<String> collection = new ArrayList<>();
collection.add("迪丽热巴");
collection.add("古力娜扎");
collection.add("马尔扎哈");
//获取一个迭代器
Iterator<String> iterator = collection.iterator();
//判断是否有下一个元素
while (iterator.hasNext()) {
//取出元素并后移
String name = iterator.next();
System.out.println(name);
}
//输出:迪丽热巴 古力娜扎 马尔扎哈
实现原理
使用增强for循环:用来遍历集合和数组。
底层也使用的是迭代器,所有实现Iterable接口的对象都可以使用增强for循环。Collection继承了Iterable接口。
Collection<String> collection = new ArrayList<>();
collection.add("迪丽热巴");
collection.add("古力娜扎");
collection.add("马尔扎哈");
for (String name : collection) {
System.out.println(name);
}
//输出:迪丽热巴 古力娜扎 马尔扎哈
增强for循环的格式
for(集合/数组中元素中的数据类型 变量名 : 集合名/数组名) {
}