迭代器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器相关的知识,希望对你有一定的参考价值。

* 迭代器 Iterator     常用的api方法
 * boolean  hasNext?() 如果迭代具有更多元素,则返回 true 。
 * E        next?() 返回迭代中的下一个元素。
 * void     remove?() 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。
 * 想要遍历容器获取容器中的每一个元素,而容器中没有索引,java提供了迭代器操作
 * 来访问容器中的每一个元素
 * 迭代:
 * 在去元素之前先要判断集合中是否有该元素,如果有就把这个元素取出来,继续判断
 * 如果还有就再次取出来,一直把集合中的所有元素全部取出来,这种取出方式专业术
 * 语有称为”迭代“

练习:

      public static void main(String[] args) {
        //模拟场景
        Collection<String> coll = new ArrayList<>();
        coll.add("小明");
        coll.add("小蓝");
        coll.add("小兰");
        coll.add("小红");
        coll.add("小黑");
        coll.add("小思");
        coll.add("小非");
        //对于Collection集合容器没有索引只能通过迭代器来访问
        Iterator<String> inerator = coll.iterator();
//        //取第一个元素
//        String str1 = inerator.next();
//        System.out.println("str1 = " + str1);
//        //去第二个元素
//        String str2 = inerator.next();
//        System.out.println("str2 = " + str2);
//        //删除该元素
//        inerator.remove();
//        String str3 = inerator.next();
//        System.out.println("str3 = " + str3);
//        //删除该元素
//        inerator.remove();
//        //查看
//        System.out.println(coll.toString());

        //可以使用循环来迭代取出容器中的元素
        //hasNext() ---》 判读是否有下一个元素
        while (inerator.hasNext()){//循环条件
            String next = inerator.next();
            System.out.print(next+" ");
        }
        System.out.println();
    /*  增强for循环 原理就是迭代原理
        JDK 1.5 新特性 高级for循环
        格式:
                for (元素数据类型 变量 : Collection集合或者数组) {
                    //操作 代码
                   }
        备注:在迭代的过程中,不要对集合进行删除路和添加的操作
        */
        for (String s : coll) {
            System.out.print(s+",");
        }

    }

以上是关于迭代器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段6——CSS选择器

行历史查看器 - Git

持久片段和查看器

损坏的顶点和片段着色器

python使用上下文对代码片段进行计时,非装饰器

设计模式迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )