zoukankan      html  css  js  c++  java
  • 迭代器

    迭代器Iterator(接口)

    • 描述

          在程序开发过程中,经常需要遍历集合当中的所有元素,针对这种情况,jdk官方又提供了一个接口java.util.Iterator;  Iterator接口它是集合当中的一员,但是它与Map,Collection接口不同,Collection接口和Map接口它主要是用来存储元素的,而Iterator主要使用来迭代访问Collection于Map接口当中的元素。因此我们也经常把Iterator对象称为迭代器。
          想要遍历Collection集合中的元素,首先需要获取集合的迭代器,通过迭代器完成迭代操作
      
    • 获取迭代器的方法

         public Iterator iterator​(); 获取集合对应的迭代器,用来遍历集合当中的元素。
      
    • 概念

      迭代:Collection集合元素的通用的获取方式。具体实现:在每次取元素之前判断集合当中有没有元素,如果有就把这个元素取出来,继续在判断,如果还有就再次取出来,一直把集合中的所有元素全部取出来,我们把这种取出方式在专业术语上称为迭代。
      
    • 常用方法

      public boolean hasNext​(); 如果集合当中仍有元素可以迭代,则返回true,没有元素则返回false
      public E next​(); 获取迭代的下一个元素。
      'next,要做两件事'
          	'1.先把下一个元素取出来'
          	'2.会把指针往后移动一位'
          
      default void remove​();  从底层集合中删除此迭代器返回的最后一个元素(可选操作)。 这种方法只能在每次调用next()时调用一次。
          //java.util.NoSuchElementException;(没有这样的元素)  如果集合当中没有下一个元素,依然使用迭代器从集合中取出元素,就会抛出这样的异常
      
    • 具体实现步骤

      '在调用iterator接口当中的next方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next方法后,迭代器的索引会向后移动过以为,指向第一个元素并将元素返回。当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,依此类推,知道hasNext方法返回false时,表示迭代器到达了集合的末尾,终止对元素的遍历。如果强硬的在取,程序就会抛出java.util.NoSuchElementException;'
          
          备注;Iterator<E> 接口也是有泛型的,迭代器的泛型是跟着集合走的,集合中定义的什么类型,迭代器就是什么类型。
      

  • 相关阅读:
    NYOJ 625 笨蛋的难题(二)
    NYOJ 102 次方求模
    ZJU Least Common Multiple
    ZJUOJ 1073 Round and Round We Go
    NYOJ 709 异形卵
    HDU 1279 验证角谷猜想
    BNUOJ 1015 信息战(一)——加密程序
    HDU 1202 The calculation of GPA
    "蓝桥杯“基础练习:字母图形
    "蓝桥杯“基础练习:数列特征
  • 原文地址:https://www.cnblogs.com/zk2020/p/14070444.html
Copyright © 2011-2022 走看看