day18-迭代

A:迭代器概述:

   a:java中提供了很多个集合,它们在存储元素时,采用的存储方式不同。

    我们要取出这些集合中的元素,可通过一种通用的获取方式来完成。

   

   b:Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,

  如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

   

   c:每种集合的底层的数据结构不同,例如ArrayList是数组,LinkedList底层是链表,但是无论使用那种集合,我们都会有判断是否有元素

     以及取出里面的元素的动作,那么Java为我们提供一个迭代器定义了统一的判断元素和取元素的方法

 

扫描二维码关注公众号,回复: 2372150 查看本文章

*A:迭代器的代码实现

      public class IteratorDemo {

        public static void main(String[] args) {

          Collection<String> coll = new ArrayList<String>();

          coll.add("abc1");

          coll.add("abc2");

          coll.add("abc3");

          coll.add("abc4");

          //迭代器,对集合ArrayList中的元素进行取出

          

          //调用集合的方法iterator()获取出,Iterator接口的实现类的对象

          Iterator<String> it = coll.iterator();

          //接口实现类对象,调用方法hasNext()判断集合中是否有元素

          //boolean b = it.hasNext();

          //System.out.println(b);

          //接口的实现类对象,调用方法next()取出集合中的元素

          //String s = it.next();

          //System.out.println(s);

          

          //迭代是反复内容,使用循环实现,循环的条件,集合中没元素, hasNext()返回了false

          while(it.hasNext()){

            String s = it.next();

            System.out.println(s);

          }

          

         

          

        }

      }

增强for只能用于遍历 并且不能用于需要索引的数组或集合:

猜你喜欢

转载自blog.csdn.net/m0_38118945/article/details/81184292