集合为什么要有迭代器.

集合为什么要有迭代器.

首先我们知道 单列集合collection可以使用for循环去遍历,那么为什么还需要迭代器呢?
它相比于for循环遍历的优点是什么呢?

我们可以想象一下.
当我们遍历 list集合时,使用for循环需要通过 list.get(i) 索引去得到对象.这样的问题及时无法遍历set 集合.
遍历set 集合可以通过
for foreach遍历 但是这样代码复用性太差了.耦合性很高.

那么如何去避免这样的问题呢?

使用迭代器 iterator.
我们发现 单列集合接口 实现了 iterable 接口.
那么也就是说明他可以迭代.

迭代器通过 hasnext 方法判断是否还有数据.通过 next方法得到数据.

虽然list集合 set集合 都有不同的迭代器 但他们都是继承最原始的 iterator
通过多态可以实现代码的高复用性.

猜你喜欢

转载自blog.csdn.net/weixin_43203363/article/details/110522183