迭(die)代器 Iterator接口--取出元素(Collection的共性方法)

开发工具: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 而操作杆是夹子(迭代器)对外提供的方法,夹子是怎么形成不管,只需要操作杆就行了

猜你喜欢

转载自blog.csdn.net/weixin_44548366/article/details/89630942