zoukankan      html  css  js  c++  java
  • Java——迭代器

    一、概念

    迭代器是对Iterator的称呼,专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合。

    二、迭代器的使用步骤

    1. 先获取集合的迭代器对象
    2. 使用迭代器对象调用hasNext(),判断是否存在下一个元素
    3. 如果有调用next()方法,获取下一个元素
    4. 循环2、3步骤,直道hasNext方法返回false为止
    Iterator iter = 集合对象.iterator();
    while(iter.hasNext()){
       // 有元素
       元素 = iter.next();
       // 操作元素  
    }
    

    例子

    // 创建Collection集合,集合中存储String类型元素
            Collection<String> coll = new ArrayList<>();
            // 存储元素
            coll.add("C#");
            coll.add("vue");
            coll.add("PHP");
            coll.add("GO");
            // 遍历集合
            // 第1步:获取集合的迭代器对象
            Iterator<String> iter = coll.iterator();
            // 第2步:循环 使用迭代器判断集合中是否有下一个元素
            while(iter.hasNext()){
                // 第3步:使用迭代器,取出集合中的下一个元素
                String next = iter.next();
                System.out.println(next);
                // C#
                // vue
                // PHP
                // GO
            }
    

    三、迭代器的使用注意事项

    1. 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
    2. 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报错。如果要删除可以使用迭代器来删除。

    下面为删除元素的方式

    // 创建Collection集合,集合中存储String类型元素
    Collection<String> coll = new ArrayList<>();
    // 存储元素
    coll.add("C#");
    coll.add("vue");
    coll.add("PHP");
    coll.add("GO");
    // 遍历集合
    // 第1步:获取集合的迭代器对象
    Iterator<String> iter = coll.iterator();
    // 第2步:循环 使用迭代器判断集合中是否有下一个元素
    while(iter.hasNext()){
        //String item = iter.next();
        //Object item = iter.next();
        // 第3步:使用迭代器,取出集合中的下一个元素
        String next = iter.next();
        if(next.equals("PHP")){
            iter.remove();
        }
        System.out.println(next);
        // C#
        // vue
        // PHP
        // GO
    }
    System.out.println(coll);   // [C#, vue, GO]
    

      

  • 相关阅读:
    初识Spring框架IOC属性注入
    JSP:在本地获取图片后立即展示选择的图片
    JavaWeb手机短信实现前台利用JS获取随机验证码,倒计时效果
    通过form表单上传文件,后台接收的方法
    封装数据库方法
    JavaWeb无限级分销结构分析
    JavaWeb忘记密码后通过邮箱进入修改密码的界面
    JavaWeb通过快递单号展示物流信息转JSON显示(servlet)
    markdown 语法测试
    example数据库
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14770573.html
Copyright © 2011-2022 走看看