Iterator接口简介

在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。

迭代的概念:

迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Iterator接口的常用方法如下:

  • public E next():返回迭代的下一个元素。
  • public boolean hasNext():如果仍有元素可以迭代,则返回 true。

 迭代器的使用步骤:

  1. 因为Iterator是一个接口,所有不能直接使用。必须使用实现此接口的子类对象。使用Collection集合中的方法iterator()可以获取迭代器的实现类对象。使用Iterator接口去接收(多态)。
  2. 使用Iterator接口中的方法 hasNext()去判断有没有下一个元素
  3. 使用Iterator接口中的方法 next():取出集合中的下一个元素。

注意

迭代器的泛型和他要遍历的集合泛型是一致的。

代码举例:

package demo02;

import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;

public class IteratorTest {
    public static void main(String[] args) {
        //创建测试用的集合
        Collection<String> collection = new ArrayList<>();
        //添加元素
        collection.add("晨曦");
        collection.add("霞光");
        collection.add("旬阳");
        collection.add("夕阳");
        //获取迭代器实现类
        Iterator<String> iterator = collection.iterator();
        //遍历集合
        while (iterator.hasNext()) {//判断集合中有没有元素
            System.out.println(iterator.next());//获取元素
        }
    }
}

执行结果:

 接口(迭代器) Iterator 随笔

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄