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

    迭代器:

    迭代器Iterator                      常用的API方法
             boolean  hasNext()  判断是否还有下一个元素
             E               next()         获取容器中的下一个元素
             void        remove()   删除迭代的最后一个元素
        如果想要遍历容器获取容器中的每一个元素,而容器中没有索引,此时java有提供给了
        迭代器操作来访问容器中的每一个元素

    迭代:

    在取元素之前先要判断集合中有没有该元素,如果有就把这个元素取出来,继续再判断,
    如果还有就再次取出来。一直把集合中的所有元素全部取出来,这种取出方式专业术语俗称”迭代“。

    举例:

    复制代码
      //模拟场景
            Collection<String> coll = new ArrayList<>();
            coll.add("小明");
            coll.add("小刘");
            coll.add("小王");
            coll.add("小孙");
            coll.add("小丽");
            //对于Collection集合容器没有索引
            Iterator<String> iterator = coll.iterator();//获取迭代器
            //获取集合中第一个元素   可以用while循环
            String str1 = iterator.next();
            System.out.println(str1);
            //获取集合中第二个元素
            String str2 = iterator.next();
            System.out.println(str2);
            //获取集合中第三个元素
            String str3 = iterator.next();
            System.out.println(str3);
            //删除该元素(删除上一次查看的元素)
            iterator.remove();//小王
            //查看coll集合中的元素
            System.out.println(coll);
            //下边此时调用非法异常
            // 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。就不能二次调用
            //iterator.remove();
            //可以使用循环来迭代取出集合中的每一个元素
            //hasNext()  ----> 判断是否有下一个元素
            while (iterator.hasNext()) {//循环条件
                //从集合中取出下一个元素
                String next = iterator.next();
                System.out.println(next);
  • 相关阅读:
    RDS MySQL 空间问题的原因和解决
    debian8最小化安装,字符界面的中文配置
    ekho安装及测试(中文文字转语音)
    sqlite 常用命令
    记录一次并没有什么用的对比测试
    debian 8 解压安装mysql(版本5.7.19)
    收藏的书录,值得花时间去读的书
    shell脚本监控Linux系统的登录情况
    gcc cc1: all warnings being treated as errors
    FreeSWITCH取消Digest校验流程
  • 原文地址:https://www.cnblogs.com/rosiness/p/13951358.html
Copyright © 2011-2022 走看看