java Iterator类

作者: 徐林林_2022公益强化班 | 来源:发表于2023-03-31 21:59 被阅读0次

    1.什么是Iterator

    Iterator提供了对集合迭代的方法,每个集合都可以返回一个Iterator实例,迭代器可以在迭代的过程中删除集合的底层元素,但是不能直接调用集合的remove()方法移除,可以使用Iterator中的remove()方法进行移除。

    2.在Iterator接口中定义了三个方法:

    - hasNext()    如果有元素则继续迭代,返回true

    - next()      返回迭代的元素

    - remove()    移除返回的元素

    3.在list集合中是用Iterator

    Iterator中只提供了删除的方法,如果想要在遍历的过程中添加元素可以是用ListIterator,ListIterator继承了Iterator接口,提供一下几种方法:

    void hasPrevious() 判断游标前面是否有元素;

    Object previous() 返回游标前面的元素,同时游标前移一位。游标前没有元素就报 java.util.NoSuchElementException 的错,所以使用前最好判断一下;

    int nextIndex() 返回游标后边元素的索引位置,初始为 0 ;遍历 N 个元素结束时为 N;

    int previousIndex() 返回游标前面元素的位置,初始时为 -1,同时报 java.util.NoSuchElementException 错;

    void add(E) 在游标 前面 插入一个元素,注意,是前面

    void set(E) 更新迭代器最后一次操作的元素为 E,也就是更新最后一次调用 next() 或者 previous() 返回的元素。注意,当没有迭代,也就是没有调用 next() 或者 previous() 直接调用 set 时会报 java.lang.IllegalStateException 错;

    void remove() 删除迭代器最后一次操作的元素,注意事项和 set 一样。

    相关文章

      网友评论

        本文标题:java Iterator类

        本文链接:https://www.haomeiwen.com/subject/cntkddtx.html