2021-11-08

Iterator(迭代器)

注意:迭代器最初并没有指向第一个元素。存进去什么类型,取出来就是什么类型。

迭代器得在加入元素之后编写(否则迭代器为空)。集合结构发生改变,迭代器必须重新获取(否则会出现异常)。

hasNext()   //返回true表示还有元素可以迭代,false则表示没有元素可以迭代了

next()      //让迭代器前进一位,并将指向的元素返回

remove()   //会更新迭代器,这样就不会报错

使用迭代器删除元素,代码如下:

public static void main(String[] args) {

        Collection c=new ArrayList();

        c.add(1);

        c.add(2);

        c.add(3);

        Iterator it=c.iterator();

        while (it.hasNext()){

            Object o=it.next();

            it.remove();  //删除的一定是迭代器指向的当前的元素

            System.out.println(o);

        }

    }

}

上一篇:[Leetcode]31.二叉搜索树迭代器


下一篇:迭代器模式