Java中Iterable接口和迭代器

1.Java集合类的基本接口是Collection接口。而Collection接口必须继承java.lang.Iterable接口

Iterable 接口只有一个方法:

public interface Iterable<T> {

    public Iterator<T> iterator();

}

每个集合的实现类都会有一个iterator()的方法,通过该方法返回给使用者一个实现Iterator接口的对象。

Iterator迭代器包含的方法有:

hasNext():如果迭代器指向位置后面还有元素,则返回 true,否则返回false

next():返回集合中Iterator指向位置后面的元素

remove():删除集合中Iterator指向位置后面的元素

注意:每次调用next()方法时,迭代器的游标都是指向两个元素之间的位置,如下图。

删除list集合元素时,建议使用迭代器的remove方法,list的remove()方法可能存在漏删。

2.listiterator接口继承Iterator接口,对其做了拓展和限制,只有实现了lsit接口的集合才能使用。

增加了一下方法:

(1).hasPrevious(),返回true表士此列表迭代器在反向遍历列表时是否包含更多元素。

(2).previous()方法,返回列表中的上一个元素并向后移动光标位置。

(3).nextIndex(),返回后续调用返回的元素的索引next()

(4).add(E e),将指定的元素插入列表(可选操作)。

(5).set(E e),取代由返回的最后一个元素next()或 previous()与指定的元素(可选操作)。

通过hasPrevious(),previous()方法,可以反向循环。通过add(),set()方法可以改变原集合数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容