我是靠谱客的博主 俭朴人生,最近开发中收集的这篇文章主要介绍【Java】迭代器之:Iterable & Iterator,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在我们Java中的迭代器是一个接口,名为Iterator。他有两个抽象方法

hasNext方法:用来判断还有没有数据访问。

next方法 :用来访问集合的下一个数据。

迭代器可以访问不同特性的集合数据,而无需关心他们的内部实现。

注意:

集合并不是直接去实现Iterator接口,而是实现Iterable接口,用这个Iterable接口定义的方法,去返回当前集合的迭代器。

其中collection就继承了Iterable接口,所以collection体系的集合都得按照这种方法返回迭代器。

这样做的好处是什么?

因为集合直接实现迭代器的话,那别人调用了当前集合的next()接口,就会影响到你遍历数据。

你本来希望从头开始遍历数据的,但是可能别人已经把数据遍历完了,你就完全拿不到数据了。

而通过实现Iterable这种方式,就可以每次返回新的迭代器,不同迭代器之间遍历数据的时候互不影响。这里便可以看出迭代器是具有独立性和隔离性的。

我们试想一下,如果我们在拿迭代器在遍历的同时,集合在做增加或删除数据呢?不一样会影响到迭代器的遍历吗?Java标准库针对这种情况做了处理。这里后面再展开。

我们再使用迭代器的时候可以直接使用for-each循环来实现迭代器,其实for-each循环是Java的一个语法糖,反编译之后我们就可以发现,他用的就是迭代器。

最后

以上就是俭朴人生为你收集整理的【Java】迭代器之:Iterable & Iterator的全部内容,希望文章能够帮你解决【Java】迭代器之:Iterable & Iterator所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部