引入:由于集合有多种,每种集合存储跟读取的方式都不一样,好比衣柜、水瓶、药瓶,你存和取的方式肯定不一样。如果每种集合都定义一种遍历方式那将十分的繁琐。
迭代器(Iterator):它不是一个容器而是接口,它是一种用于访问容器的方法,可用于迭代 List、Set和Map等容器。
迭代:即Collection集合的通用获取方式。再获取元素之前先要判断集合中是否有元素,如果有就将这个元素去取出来,继续再判断,直到集合所有元素被取出来为止。即:一个一个的往外拿。
作用:帮我们遍历或者拿到容器里边的数据。
2.1Iterator接口迭代器常用操作:
next() 下一个
hasNext() 判断是否存在下一个元素
remove() 删除元素
迭代器的使用步骤:
使用集合中的的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
使用Tterator接口中的方法hashnext()判断还有没有下一个元素
使用Tterator接口中的方法next()取出集合的下一个元素
【参考代码】
package Iterator;
import javax.swing.text.html.parser.Entity;
import java.util.*;
public class Test {
public static void main(String[] args) {
//创建一个集合对象
Collection<String>col = new ArrayList();
//添加元素
col.add("小明");
col.add("小红");
col.add("小蓝");
col.add("小绿");
/*
1.使用集合的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
注意:
Iterator接口也是有泛型的,迭代器的泛型跟集合走,集合是什么泛型,迭代器就是什么泛型
*/
// 多态 接口 实现类对象
Iterator<String>it = col.iterator();
// 2.使用 Iterator接口中的hashNext方法判断是否还有下一个元素
while(it.hasNext());{
// 3.使用 Iterator接口中的next方法取出集合的下一个元素
String str = it.next();
System.out.println(str);
}
}
} 2.2Iterator的实现原理: