• Java Collection集合中的iterator方法


    Iterator接口的概述

    /**
     * java.util.Iterator接口:选代器(对集合进行遍历)
     *      有两个常用的方法
     *                    boolean hasNext()
     *                          如果仍有元素可以迭代,则返回true。
     *                          即判断集合中还有没有下ー个元素,有就返回true,没有就返回 false
     *                    E next()
     *                          返回送代的下一个元素。
     *                          即取出集合中的下一个元素
     *      iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象。
     *              获取实现类的方式比较特殊Collection接口中有一个方法,叫iterator(),这个方法返回的就是送代器的实现类对象
     *              Iterator<E> iterator()返回在该collection集合的元素上进行迭代的送代器。
     *
     * 迭代器的使用步骤(重点):
     *              1.使用集合中的方法 iterator()获取送代器的实现类对象,使用Iterator接口接收(多态)
     *              2.使用Iterator接口中的方法hasNext来判断还有没有下一个元素
     *              3.使用Iterator接口中的方法next来取出集合中的下一个元素
     */

    迭代器代码的实现

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Collection;
    
    public class Demo01Iterator {
        public static void main(String[] args) {
            Collection <String> collection = new ArrayList<>();
    
            collection.add("1号");
            collection.add("2号");
            collection.add("3号");
            collection.add("4号");
            collection.add("5号");
    
            // 第一步:使用集合中的方法 iterator() 获取送代器的实现类对象
            // 第二步:使用Iterator接口接收(多态)
            Iterator<String> stringIterator = collection.iterator();
    
            // 第三步:使用Iterator接口中的方法hasNext来判断还有没有下一个元素
            while (stringIterator.hasNext()) {
                // 第四步:使用Iterator接口中的方法next来取出集合中的下一个元素
                System.out.println(
                        stringIterator.next()
                );
            }
            
        }
    }
    输出结果:
    1号
    2号
    3号
    4号
    5号

    迭代器的实现原理

    new一个集合出来
    collection = new ArrayList<>()
    
    假设集合中添加有元素 collection
    = [一号元素, 二号元素, 三号元素, 四号元素, 五号元素]
    集合中的元素对应的索引 Index
    = [0, 1, 2, 3, 4]
    调用iterator方法 collection.iterator() 作用:获取迭代器的实现类对象井且会把指针(索引)指向集合的
    -1素引
    代码说明:
    while (stringIterator.hasNext()) { stringIterator.next() } 通过Iterator接口的hasNext()方法,判断集合是否还有没有下一个元素 如果有下一个元素,那么就调用Iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位。
    就这样,从索引的
    -1 位置的下一位索引,开始获取元素,直到获取完全。

  • 相关阅读:
    关于使用Java Mail进行邮件发送,抛出Could not connect to SMTP host: xx@xxx.com, port: 25的异常可能
    百度地图和solr展示资源和附近等功能的实现 四
    Python爬虫入门-3
    Python爬虫入门-2
    Python爬虫入门-1
    Python装饰器专题-限制函数调用次数(10s调用一次)
    32个Python爬虫项目让你一次吃到撑
    时间复杂度趣图分析
    各类数据库默认端口总结
    ansible使用三(ansible roles)
  • 原文地址:https://www.cnblogs.com/liyihua/p/12183013.html
Copyright © 2020-2023  润新知