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> 接口也是有泛型的,迭代器的泛型是跟着集合走的,集合中定义的什么类型,迭代器就是什么类型。
      

  • 相关阅读:
    c#序列化和反序列化list
    centos7安装oracle 11gr2
    centos7系统备份与还原
    FAT32和NTFS最大支持的单个文件大小分别是多大?
    linux挂载远程windows服务器上的ISO,给内网的服务器安装软件
    tomcat8启动慢原因及解决办法
    CentOS统的7个运行级别的含义
    对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
    空侃简介
    linux环境部署
  • 原文地址:https://www.cnblogs.com/zk2020/p/14070444.html
Copyright © 2011-2022 走看看