1.迭代器的设计模式:
- 遍历和访问的问题。
2.迭代器的作用:
- hasnext:判断是否还有下一个元
- next方法:获取元素的值,并且让下标后移
- remove:删除当前正在遍历的元素
3.迭代器中的角色:
- 迭代器角色:Iterator
- 具体迭代器角色:Itr HashIterator
- 容器角色:List
- 具体容器角色:ArrayList
4迭代器实现:
- 集合/容器
- 内部类implement Iterator
- 容器:提供一个供外部调用的一个方法
5.代码举例:
package Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;//对集合进行遍历
//迭代器是一种通用的取出元素的方式
//迭代:即Collection集合元素的通用获取方式。在取出元素之前首先判断集合中有没有元素,
// 如果有,就把这个元素取出来,继续判断,如果还有就再取出来,一直把集合中所有的元素
//全部取出。这种方式称为迭代。
/*
//常用的两种方法:
//1.boolean hasNext()如果仍然可以迭代,则返回true 集合中有没有下一个元素
//2.E Next()返回迭代的下一个元素 取出集合中的下一个元素
//
//Iterator迭代器是一种接口 我们无法直接使用,无要用Iterator接口实现类对象,获取实现类的方式比较特殊
//Collection接口中 有一个方法 叫做Iterator 这个方法返回的就是这个接口的实现类
迭代器的使用步骤:
1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接受(多态)
2.使用Iterator接口中的hasNext判断有没有下一个元素
3.使用Iterator接口中的next方法取出集合中的下一个元素
*/
public class Demo2Iterator {
public static void main(String[] args) {
//创建一个集合对象
Collection<String> coll=new ArrayList<>();
//忘记和中添加元素
coll.add("姚明");
coll.add("科比");
coll.add("麦迪");
coll.add("詹姆斯");
coll.add("艾弗森");
Iterator<String> it=coll.iterator();
//这种方法一直重复一个过程,比较繁琐
boolean b = it.hasNext();
System.out.println(b);
String s=it.next();
System.out.println(s);
boolean e = it.hasNext();
while (e){
String s=it.next();
System.out.println(s);
}
System.out.println("===================");
}
}
输出结果:
true
姚明
姚明
姚明
姚明
姚明
本人才疏学浅,如有错误,烦请指出,谢谢!