集合——Iterator接口

Java集合类库将集合的接口与实现分离。同样的接口,可以有不同的实现
Java集合类的基本接口是Collection接口。而Collection接口必须继承java.lang.Iterable接口

Iterator接口概述

对 collection 进行迭代的迭代器
依赖于集合而存在

Iterator接口成员方法

boolean hasNext()
E next()

Iterator接口的着三个方法,实现遍历ArrayList类型

一开始迭代器在所有元素的左边,调用next()之后,迭代器移到第一个和第二个元素之间,next()方法返回迭代器刚刚经过的元素
hasNext()若返回True,则表明接下来还有元素,迭代器不在尾部
remove()方法必须和next方法一起使用,功能是去除刚刚next方法返回的元素

如果Collection直接继承Iterator接口,势必导致集合对象中包含当前迭代位置的数据(指针)
当集合在不同方法间被传递时,由于当前迭代位置不可预置,那么next()方法的结果会变成不可预知
除非再为Iterator接口添加一个reset()方法,用来重置当前迭代位置
但即时这样,Collection也只能同时存在一个当前迭代位置
而Iterable则不然,每次调用都会返回一个从头开始计数的迭代器
多个迭代器是互不干扰的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章