开发工具:eclipse
关键技术:java
作者:林锦铅
撰写时间:20190428
··························································
迭代器--while循环取出元素
//1)创建ArrayList类集合对象
ArrayList ar=new ArrayList();
//2)ArrayList类封装有iterator()方法返回的数据类型为Iterator接口类
//3)用Iterator接口类声明变量指向ArrayList类
//4)获取迭代器用于取出集合中的元素
Iterator it=ar.iterator();
//5)hasNext()判断是否还有元素可以迭代,则返回 true
while(it.hasNext()){
//6)next()返回迭代的下一个元素。通过迭代器取出集合中的元素
System.out.println(it.next());
}
迭代器--for循环取出元素
//1)上方的while循环,就算循环停止了,但it对象还在内存,毫无意义
//2)这种for循环比较优,只要循环结束,立马释放it对象内存资源
for (Iterator iterator = ar.iterator(); iterator.hasNext();) {
System.out.println(iterator.next());
}
Iterator接口-->iterator()取出元素简介(Collection的共性方法)
【1】取出元素之前,需要判断该集合是否有元素
【2】取出有多种方法,而且对于取出元素是需要很多步骤(函数)实现,所以将取出元素的方法封装成对象。
【3】每个集合数据结构不一样,那么取出元素的实现方式也不一样,那么取出元素的方式就通过一个类来描述,将其定义在集合的内部
【4】元素在集合中,[取出元素的方法类]想要直接操作集合的元素,将其定义为内部类最方便
【5】虽然每个容器的数据结构不一样,取出元素细节也不一样但是都有共性内容:判断和取出,将其共性抽取,而且这些取出元素的共性都是扩展性功能
便封装Iterator 接口类
【6】那么这些内部类都符合一个规则--Iterator 迭代器接口,通过一个对外提供的方法iterator()
【7】只要实现Iterator 迭代器接口的方法就行,注意取出元素的规则就行。
比如夹布娃娃机,夹子是迭代器Iterator ,而操作杆是夹子(迭代器)对外提供的方法,夹子是怎么形成不管,只需要操作杆就行了