• java笔记集合之迭代器


    迭代器的作用:就是用于抓取集合中的元素。

    迭代器的方法:


    hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。
    next() 获取元素...
    remove() 移除迭代器最后一次返回 的元素

    NoSuchElementException 没有元素的异常。
    出现的原因: 没有元素可以被迭代了。。。

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    public class Demo01 {
    
        public static void main(String[] args) {
            Collection c1=new ArrayList() ;
            c1.add("狗娃");
            c1.add("狗剩");
            c1.add("铁蛋");
         c1.add("美美"); Iterator it =c1.iterator(); while (it.hasNext()) { System.out.println("元素是:"+it.next()); } } }

    输出结果:

    元素是:狗娃
    元素是:狗剩
    元素是:铁蛋

    元素是:美美

    Q:   Iterator()方法返回是一个接口类型,为什么接口又可以调用方法使用呢?

    A:   iterator实际上返回的是接口Iterator的实现类。

    remove方法:移除迭代器最后一次返回 的元素

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    public class Demo01 {
    
        public static void main(String[] args) {
            Collection c1=new ArrayList() ;
            c1.add("北京");
            c1.add("上海");
            c1.add("广州");
            Iterator it =c1.iterator();
           
                while(it.hasNext())
                 {
                    if("北京".equals(it.next()))
                    {
                      it.remove();
                    }
                 }
                 System.out.println("移除后:"+c1);
          }
          
          
         
        }

    输出结果:移除后:[上海, 广州]

    package cn.itcast.list;

    import java.util.ArrayList;
    import java.util.List;
    import java.util.ListIterator;

    /*

    迭代器在变量元素的时候要注意事项: 在迭代器迭代元素 的过程中,不允许使用集合对象改变集合中的元素 个数,如果需要添加或者删除只能使用迭代器的方法进行操作。

    如果使用过了集合对象改变集合中元素个数那么就会出现ConcurrentModificationException异常。

    迭代元素 的过程中: 迭代器创建到使用结束的时间。

    */

    public class Demo5 {

    public static void main(String[] args) {
    List list = new ArrayList();
    list.add("张三");
    list.add("李四");
    list.add("王五");

    ListIterator it = list.listIterator(); //获取到迭代器
    /* while(it.hasNext()){
    System.out.print(it.next()+",");
    //it.add("aa"); // 把元素添加到当前指针指向位置
    list.add("aa"); // add方法是把元素添加到集合的末尾处的。
    // list.remove("张三");
    }*/

    list.add("aa");
    it.next();



    System.out.println(" 集合的元素:"+ list);
    }

    }

  • 相关阅读:
    C++类型转换运算符
    今天开通了博客
    计算每天工时逻辑,去掉可能重叠交叉的数据(由于前端插件存储["11:30","12:00"] 这样的json字符串)
    初次涉及左右值算法(树结构)
    MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结
    关于使用JQuery追加Option标签时使用三元运算符添加选中属性的解决办法
    【Spring】关于SpringMvc监听的知识点
    关于使用三元运算符来判断下拉框选项是否选中的总结
    关于frameset的一些小总结
    关于上传文件的一点总结
  • 原文地址:https://www.cnblogs.com/AllenRandolph/p/6942321.html
Copyright © 2020-2023  润新知